home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / prim / files.elc < prev    next >
Emacs Compiled Lisp  |  1995-08-31  |  54.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
55% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
44% TrID Summation Document Image Information Load File default (weak)
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 63 74 68 6f 6d 70 40 |piled by| cthomp@|
|00000020| 77 69 6c 6c 6f 77 2e 63 | 73 2e 75 69 75 63 2e 65 |willow.c|s.uiuc.e|
|00000030| 64 75 20 6f 6e 20 54 68 | 75 20 41 75 67 20 33 31 |du on Th|u Aug 31|
|00000040| 20 31 31 3a 32 34 3a 34 | 36 20 31 39 39 35 0a 3b | 11:24:4|6 1995.;|
|00000050| 3b 3b 20 66 72 6f 6d 20 | 66 69 6c 65 20 2f 78 65 |;; from |file /xe|
|00000060| 6d 61 63 73 2f 78 65 6d | 61 63 73 2d 31 39 2e 31 |macs/xem|acs-19.1|
|00000070| 33 2d 72 65 6c 65 61 73 | 65 2f 65 64 69 74 6f 72 |3-releas|e/editor|
|00000080| 2f 6c 69 73 70 2f 70 72 | 69 6d 2f 66 69 6c 65 73 |/lisp/pr|im/files|
|00000090| 2e 65 6c 0a 3b 3b 3b 20 | 65 6d 61 63 73 20 76 65 |.el.;;; |emacs ve|
|000000a0| 72 73 69 6f 6e 20 31 39 | 2e 31 33 20 58 45 6d 61 |rsion 19|.13 XEma|
|000000b0| 63 73 20 4c 75 63 69 64 | 2e 0a 3b 3b 3b 20 62 79 |cs Lucid|..;;; by|
|000000c0| 74 65 63 6f 6d 70 20 76 | 65 72 73 69 6f 6e 20 32 |tecomp v|ersion 2|
|000000d0| 2e 32 35 3b 20 31 2d 53 | 65 70 2d 39 34 2e 0a 3b |.25; 1-S|ep-94..;|
|000000e0| 3b 3b 20 6f 70 74 69 6d | 69 7a 61 74 69 6f 6e 20 |;; optim|ization |
|000000f0| 69 73 20 6f 6e 2e 0a 3b | 3b 3b 20 74 68 69 73 20 |is on..;|;; this |
|00000100| 66 69 6c 65 20 75 73 65 | 73 20 6f 70 63 6f 64 65 |file use|s opcode|
|00000110| 73 20 77 68 69 63 68 20 | 64 6f 20 6e 6f 74 20 65 |s which |do not e|
|00000120| 78 69 73 74 20 69 6e 20 | 45 6d 61 63 73 20 31 38 |xist in |Emacs 18|
|00000130| 2e 0a 0a 28 69 66 20 28 | 61 6e 64 20 28 62 6f 75 |...(if (|and (bou|
|00000140| 6e 64 70 20 27 65 6d 61 | 63 73 2d 76 65 72 73 69 |ndp 'ema|cs-versi|
|00000150| 6f 6e 29 0a 09 20 28 6f | 72 20 28 61 6e 64 20 28 |on).. (o|r (and (|
|00000160| 62 6f 75 6e 64 70 20 27 | 65 70 6f 63 68 3a 3a 76 |boundp '|epoch::v|
|00000170| 65 72 73 69 6f 6e 29 20 | 65 70 6f 63 68 3a 3a 76 |ersion) |epoch::v|
|00000180| 65 72 73 69 6f 6e 29 0a | 09 20 20 20 20 20 28 73 |ersion).|. (s|
|00000190| 74 72 69 6e 67 2d 6c 65 | 73 73 70 20 65 6d 61 63 |tring-le|ssp emac|
|000001a0| 73 2d 76 65 72 73 69 6f | 6e 20 22 31 39 22 29 29 |s-versio|n "19"))|
|000001b0| 29 0a 20 20 20 20 28 65 | 72 72 6f 72 20 22 54 68 |). (e|rror "Th|
|000001c0| 69 73 20 66 69 6c 65 20 | 77 61 73 20 63 6f 6d 70 |is file |was comp|
|000001d0| 69 6c 65 64 20 66 6f 72 | 20 45 6d 61 63 73 20 31 |iled for| Emacs 1|
|000001e0| 39 2e 22 29 29 0a 0a 28 | 64 65 66 63 6f 6e 73 74 |9."))..(|defconst|
|000001f0| 20 6d 61 6b 65 2d 62 61 | 63 6b 75 70 2d 66 69 6c | make-ba|ckup-fil|
|00000200| 65 73 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |es (byte|-code ".|
|00000210| c1 3d 3f 87 22 20 5b 73 | 79 73 74 65 6d 2d 74 79 |.=?." [s|ystem-ty|
|00000220| 70 65 20 76 61 78 2d 76 | 6d 73 5d 20 32 29 20 22 |pe vax-v|ms] 2) "|
|00000230| 5c 0a 2a 4e 6f 6e 2d 6e | 69 6c 20 6d 65 61 6e 73 |\.*Non-n|il means|
|00000240| 20 6d 61 6b 65 20 61 20 | 62 61 63 6b 75 70 20 6f | make a |backup o|
|00000250| 66 20 61 20 66 69 6c 65 | 20 74 68 65 20 66 69 72 |f a file| the fir|
|00000260| 73 74 20 74 69 6d 65 20 | 69 74 20 69 73 20 73 61 |st time |it is sa|
|00000270| 76 65 64 2e 0a 54 68 69 | 73 20 63 61 6e 20 62 65 |ved..Thi|s can be|
|00000280| 20 64 6f 6e 65 20 62 79 | 20 72 65 6e 61 6d 69 6e | done by| renamin|
|00000290| 67 20 74 68 65 20 66 69 | 6c 65 20 6f 72 20 62 79 |g the fi|le or by|
|000002a0| 20 63 6f 70 79 69 6e 67 | 2e 0a 0a 52 65 6e 61 6d | copying|...Renam|
|000002b0| 69 6e 67 20 6d 65 61 6e | 73 20 74 68 61 74 20 58 |ing mean|s that X|
|000002c0| 45 6d 61 63 73 20 72 65 | 6e 61 6d 65 73 20 74 68 |Emacs re|names th|
|000002d0| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|000002e0| 73 6f 20 74 68 61 74 20 | 69 74 20 69 73 20 61 0a |so that |it is a.|
|000002f0| 62 61 63 6b 75 70 20 66 | 69 6c 65 2c 20 74 68 65 |backup f|ile, the|
|00000300| 6e 20 77 72 69 74 65 73 | 20 74 68 65 20 62 75 66 |n writes| the buf|
|00000310| 66 65 72 20 69 6e 74 6f | 20 61 20 6e 65 77 20 66 |fer into| a new f|
|00000320| 69 6c 65 2e 20 20 41 6e | 79 20 6f 74 68 65 72 20 |ile. An|y other |
|00000330| 6e 61 6d 65 73 0a 74 68 | 61 74 20 74 68 65 20 6f |names.th|at the o|
|00000340| 6c 64 20 66 69 6c 65 20 | 68 61 64 20 77 69 6c 6c |ld file |had will|
|00000350| 20 6e 6f 77 20 72 65 66 | 65 72 20 74 6f 20 74 68 | now ref|er to th|
|00000360| 65 20 62 61 63 6b 75 70 | 20 66 69 6c 65 2e 20 20 |e backup| file. |
|00000370| 54 68 65 20 6e 65 77 20 | 66 69 6c 65 0a 69 73 20 |The new |file.is |
|00000380| 6f 77 6e 65 64 20 62 79 | 20 79 6f 75 20 61 6e 64 |owned by| you and|
|00000390| 20 69 74 73 20 67 72 6f | 75 70 20 69 73 20 64 65 | its gro|up is de|
|000003a0| 66 61 75 6c 74 65 64 2e | 0a 0a 43 6f 70 79 69 6e |faulted.|..Copyin|
|000003b0| 67 20 6d 65 61 6e 73 20 | 74 68 61 74 20 58 45 6d |g means |that XEm|
|000003c0| 61 63 73 20 63 6f 70 69 | 65 73 20 74 68 65 20 65 |acs copi|es the e|
|000003d0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 69 6e 74 |xisting |file int|
|000003e0| 6f 20 74 68 65 20 62 61 | 63 6b 75 70 0a 66 69 6c |o the ba|ckup.fil|
|000003f0| 65 2c 20 74 68 65 6e 20 | 77 72 69 74 65 73 20 74 |e, then |writes t|
|00000400| 68 65 20 62 75 66 66 65 | 72 20 6f 6e 20 74 6f 70 |he buffe|r on top|
|00000410| 20 6f 66 20 74 68 65 20 | 65 78 69 73 74 69 6e 67 | of the |existing|
|00000420| 20 66 69 6c 65 2e 20 20 | 41 6e 79 20 6f 74 68 65 | file. |Any othe|
|00000430| 72 0a 6e 61 6d 65 73 20 | 74 68 61 74 20 74 68 65 |r.names |that the|
|00000440| 20 6f 6c 64 20 66 69 6c | 65 20 68 61 64 20 77 69 | old fil|e had wi|
|00000450| 6c 6c 20 6e 6f 77 20 72 | 65 66 65 72 20 74 6f 20 |ll now r|efer to |
|00000460| 74 68 65 20 6e 65 77 20 | 28 65 64 69 74 65 64 29 |the new |(edited)|
|00000470| 20 66 69 6c 65 2e 0a 54 | 68 65 20 66 69 6c 65 27 | file..T|he file'|
|00000480| 73 20 6f 77 6e 65 72 20 | 61 6e 64 20 67 72 6f 75 |s owner |and grou|
|00000490| 70 20 61 72 65 20 75 6e | 63 68 61 6e 67 65 64 2e |p are un|changed.|
|000004a0| 0a 0a 54 68 65 20 63 68 | 6f 69 63 65 20 6f 66 20 |..The ch|oice of |
|000004b0| 72 65 6e 61 6d 69 6e 67 | 20 6f 72 20 63 6f 70 79 |renaming| or copy|
|000004c0| 69 6e 67 20 69 73 20 63 | 6f 6e 74 72 6f 6c 6c 65 |ing is c|ontrolle|
|000004d0| 64 20 62 79 20 74 68 65 | 20 76 61 72 69 61 62 6c |d by the| variabl|
|000004e0| 65 73 0a 60 62 61 63 6b | 75 70 2d 62 79 2d 63 6f |es.`back|up-by-co|
|000004f0| 70 79 69 6e 67 27 2c 20 | 60 62 61 63 6b 75 70 2d |pying', |`backup-|
|00000500| 62 79 2d 63 6f 70 79 69 | 6e 67 2d 77 68 65 6e 2d |by-copyi|ng-when-|
|00000510| 6c 69 6e 6b 65 64 27 20 | 61 6e 64 0a 60 62 61 63 |linked' |and.`bac|
|00000520| 6b 75 70 2d 62 79 2d 63 | 6f 70 79 69 6e 67 2d 77 |kup-by-c|opying-w|
|00000530| 68 65 6e 2d 6d 69 73 6d | 61 74 63 68 27 2e 20 20 |hen-mism|atch'. |
|00000540| 53 65 65 20 61 6c 73 6f | 20 60 62 61 63 6b 75 70 |See also| `backup|
|00000550| 2d 69 6e 68 69 62 69 74 | 65 64 27 2e 22 29 0a 28 |-inhibit|ed'.").(|
|00000560| 64 65 66 76 61 72 20 62 | 61 63 6b 75 70 2d 69 6e |defvar b|ackup-in|
|00000570| 68 69 62 69 74 65 64 20 | 6e 69 6c 20 22 5c 0a 4e |hibited |nil "\.N|
|00000580| 6f 6e 2d 6e 69 6c 20 6d | 65 61 6e 73 20 64 6f 6e |on-nil m|eans don|
|00000590| 27 74 20 6d 61 6b 65 20 | 61 20 62 61 63 6b 75 70 |'t make |a backup|
|000005a0| 2c 20 72 65 67 61 72 64 | 6c 65 73 73 20 6f 66 20 |, regard|less of |
|000005b0| 74 68 65 20 6f 74 68 65 | 72 20 70 61 72 61 6d 65 |the othe|r parame|
|000005c0| 74 65 72 73 2e 0a 54 68 | 69 73 20 76 61 72 69 61 |ters..Th|is varia|
|000005d0| 62 6c 65 20 69 73 20 69 | 6e 74 65 6e 64 65 64 20 |ble is i|ntended |
|000005e0| 66 6f 72 20 75 73 65 20 | 62 79 20 6d 61 6b 69 6e |for use |by makin|
|000005f0| 67 20 69 74 20 6c 6f 63 | 61 6c 20 74 6f 20 61 20 |g it loc|al to a |
|00000600| 62 75 66 66 65 72 2e 0a | 42 75 74 20 69 74 20 69 |buffer..|But it i|
|00000610| 73 20 6c 6f 63 61 6c 20 | 6f 6e 6c 79 20 69 66 20 |s local |only if |
|00000620| 79 6f 75 20 6d 61 6b 65 | 20 69 74 20 6c 6f 63 61 |you make| it loca|
|00000630| 6c 2e 22 29 0a 28 70 75 | 74 20 27 62 61 63 6b 75 |l.").(pu|t 'backu|
|00000640| 70 2d 69 6e 68 69 62 69 | 74 65 64 20 27 70 65 72 |p-inhibi|ted 'per|
|00000650| 6d 61 6e 65 6e 74 2d 6c | 6f 63 61 6c 20 74 29 0a |manent-l|ocal t).|
|00000660| 28 64 65 66 63 6f 6e 73 | 74 20 62 61 63 6b 75 70 |(defcons|t backup|
|00000670| 2d 62 79 2d 63 6f 70 79 | 69 6e 67 20 6e 69 6c 20 |-by-copy|ing nil |
|00000680| 22 5c 0a 2a 4e 6f 6e 2d | 6e 69 6c 20 6d 65 61 6e |"\.*Non-|nil mean|
|00000690| 73 20 61 6c 77 61 79 73 | 20 75 73 65 20 63 6f 70 |s always| use cop|
|000006a0| 79 69 6e 67 20 74 6f 20 | 63 72 65 61 74 65 20 62 |ying to |create b|
|000006b0| 61 63 6b 75 70 20 66 69 | 6c 65 73 2e 0a 53 65 65 |ackup fi|les..See|
|000006c0| 20 64 6f 63 75 6d 65 6e | 74 61 74 69 6f 6e 20 6f | documen|tation o|
|000006d0| 66 20 76 61 72 69 61 62 | 6c 65 20 60 6d 61 6b 65 |f variab|le `make|
|000006e0| 2d 62 61 63 6b 75 70 2d | 66 69 6c 65 73 27 2e 22 |-backup-|files'."|
|000006f0| 29 0a 28 64 65 66 63 6f | 6e 73 74 20 62 61 63 6b |).(defco|nst back|
|00000700| 75 70 2d 62 79 2d 63 6f | 70 79 69 6e 67 2d 77 68 |up-by-co|pying-wh|
|00000710| 65 6e 2d 6c 69 6e 6b 65 | 64 20 6e 69 6c 20 22 5c |en-linke|d nil "\|
|00000720| 0a 2a 4e 6f 6e 2d 6e 69 | 6c 20 6d 65 61 6e 73 20 |.*Non-ni|l means |
|00000730| 75 73 65 20 63 6f 70 79 | 69 6e 67 20 74 6f 20 63 |use copy|ing to c|
|00000740| 72 65 61 74 65 20 62 61 | 63 6b 75 70 73 20 66 6f |reate ba|ckups fo|
|00000750| 72 20 66 69 6c 65 73 20 | 77 69 74 68 20 6d 75 6c |r files |with mul|
|00000760| 74 69 70 6c 65 20 6e 61 | 6d 65 73 2e 0a 54 68 69 |tiple na|mes..Thi|
|00000770| 73 20 63 61 75 73 65 73 | 20 74 68 65 20 61 6c 74 |s causes| the alt|
|00000780| 65 72 6e 61 74 65 20 6e | 61 6d 65 73 20 74 6f 20 |ernate n|ames to |
|00000790| 72 65 66 65 72 20 74 6f | 20 74 68 65 20 6c 61 74 |refer to| the lat|
|000007a0| 65 73 74 20 76 65 72 73 | 69 6f 6e 20 61 73 20 65 |est vers|ion as e|
|000007b0| 64 69 74 65 64 2e 0a 54 | 68 69 73 20 76 61 72 69 |dited..T|his vari|
|000007c0| 61 62 6c 65 20 69 73 20 | 72 65 6c 65 76 61 6e 74 |able is |relevant|
|000007d0| 20 6f 6e 6c 79 20 69 66 | 20 60 62 61 63 6b 75 70 | only if| `backup|
|000007e0| 2d 62 79 2d 63 6f 70 79 | 69 6e 67 27 20 69 73 20 |-by-copy|ing' is |
|000007f0| 6e 69 6c 2e 22 29 0a 28 | 64 65 66 63 6f 6e 73 74 |nil.").(|defconst|
|00000800| 20 62 61 63 6b 75 70 2d | 62 79 2d 63 6f 70 79 69 | backup-|by-copyi|
|00000810| 6e 67 2d 77 68 65 6e 2d | 6d 69 73 6d 61 74 63 68 |ng-when-|mismatch|
|00000820| 20 6e 69 6c 20 22 5c 0a | 2a 4e 6f 6e 2d 6e 69 6c | nil "\.|*Non-nil|
|00000830| 20 6d 65 61 6e 73 20 63 | 72 65 61 74 65 20 62 61 | means c|reate ba|
|00000840| 63 6b 75 70 73 20 62 79 | 20 63 6f 70 79 69 6e 67 |ckups by| copying|
|00000850| 20 69 66 20 74 68 69 73 | 20 70 72 65 73 65 72 76 | if this| preserv|
|00000860| 65 73 20 6f 77 6e 65 72 | 20 6f 72 20 67 72 6f 75 |es owner| or grou|
|00000870| 70 2e 0a 52 65 6e 61 6d | 69 6e 67 20 6d 61 79 20 |p..Renam|ing may |
|00000880| 73 74 69 6c 6c 20 62 65 | 20 75 73 65 64 20 28 73 |still be| used (s|
|00000890| 75 62 6a 65 63 74 20 74 | 6f 20 63 6f 6e 74 72 6f |ubject t|o contro|
|000008a0| 6c 20 6f 66 20 6f 74 68 | 65 72 20 76 61 72 69 61 |l of oth|er varia|
|000008b0| 62 6c 65 73 29 0a 77 68 | 65 6e 20 69 74 20 77 6f |bles).wh|en it wo|
|000008c0| 75 6c 64 20 6e 6f 74 20 | 72 65 73 75 6c 74 20 69 |uld not |result i|
|000008d0| 6e 20 63 68 61 6e 67 69 | 6e 67 20 74 68 65 20 6f |n changi|ng the o|
|000008e0| 77 6e 65 72 20 6f 72 20 | 67 72 6f 75 70 20 6f 66 |wner or |group of|
|000008f0| 20 74 68 65 20 66 69 6c | 65 3b 0a 74 68 61 74 20 | the fil|e;.that |
|00000900| 69 73 2c 20 66 6f 72 20 | 66 69 6c 65 73 20 77 68 |is, for |files wh|
|00000910| 69 63 68 20 61 72 65 20 | 6f 77 6e 65 64 20 62 79 |ich are |owned by|
|00000920| 20 79 6f 75 20 61 6e 64 | 20 77 68 6f 73 65 20 67 | you and| whose g|
|00000930| 72 6f 75 70 20 6d 61 74 | 63 68 65 73 0a 74 68 65 |roup mat|ches.the|
|00000940| 20 64 65 66 61 75 6c 74 | 20 66 6f 72 20 61 20 6e | default| for a n|
|00000950| 65 77 20 66 69 6c 65 20 | 63 72 65 61 74 65 64 20 |ew file |created |
|00000960| 74 68 65 72 65 20 62 79 | 20 79 6f 75 2e 0a 54 68 |there by| you..Th|
|00000970| 69 73 20 76 61 72 69 61 | 62 6c 65 20 69 73 20 72 |is varia|ble is r|
|00000980| 65 6c 65 76 61 6e 74 20 | 6f 6e 6c 79 20 69 66 20 |elevant |only if |
|00000990| 60 62 61 63 6b 75 70 2d | 62 79 2d 63 6f 70 79 69 |`backup-|by-copyi|
|000009a0| 6e 67 27 20 69 73 20 6e | 69 6c 2e 22 29 0a 28 64 |ng' is n|il.").(d|
|000009b0| 65 66 76 61 72 20 62 61 | 63 6b 75 70 2d 65 6e 61 |efvar ba|ckup-ena|
|000009c0| 62 6c 65 2d 70 72 65 64 | 69 63 61 74 65 20 27 28 |ble-pred|icate '(|
|000009d0| 6c 61 6d 62 64 61 20 28 | 6e 61 6d 65 29 20 28 6f |lambda (|name) (o|
|000009e0| 72 20 28 3c 20 28 6c 65 | 6e 67 74 68 20 6e 61 6d |r (< (le|ngth nam|
|000009f0| 65 29 20 35 29 20 28 6e | 6f 74 20 28 73 74 72 69 |e) 5) (n|ot (stri|
|00000a00| 6e 67 2d 65 71 75 61 6c | 20 22 2f 74 6d 70 2f 22 |ng-equal| "/tmp/"|
|00000a10| 20 28 73 75 62 73 74 72 | 69 6e 67 20 6e 61 6d 65 | (substr|ing name|
|00000a20| 20 30 20 35 29 29 29 29 | 29 20 22 5c 0a 50 72 65 | 0 5))))|) "\.Pre|
|00000a30| 64 69 63 61 74 65 20 74 | 68 61 74 20 6c 6f 6f 6b |dicate t|hat look|
|00000a40| 73 20 61 74 20 61 20 66 | 69 6c 65 20 6e 61 6d 65 |s at a f|ile name|
|00000a50| 20 61 6e 64 20 64 65 63 | 69 64 65 73 20 77 68 65 | and dec|ides whe|
|00000a60| 74 68 65 72 20 74 6f 20 | 6d 61 6b 65 20 62 61 63 |ther to |make bac|
|00000a70| 6b 75 70 73 2e 0a 43 61 | 6c 6c 65 64 20 77 69 74 |kups..Ca|lled wit|
|00000a80| 68 20 61 6e 20 61 62 73 | 6f 6c 75 74 65 20 66 69 |h an abs|olute fi|
|00000a90| 6c 65 20 6e 61 6d 65 20 | 61 73 20 61 72 67 75 6d |le name |as argum|
|00000aa0| 65 6e 74 2c 20 69 74 20 | 72 65 74 75 72 6e 73 20 |ent, it |returns |
|00000ab0| 74 20 74 6f 20 65 6e 61 | 62 6c 65 20 62 61 63 6b |t to ena|ble back|
|00000ac0| 75 70 2e 22 29 0a 28 64 | 65 66 63 6f 6e 73 74 20 |up.").(d|efconst |
|00000ad0| 62 75 66 66 65 72 2d 6f | 66 66 65 72 2d 73 61 76 |buffer-o|ffer-sav|
|00000ae0| 65 20 6e 69 6c 20 22 5c | 0a 2a 4e 6f 6e 2d 6e 69 |e nil "\|.*Non-ni|
|00000af0| 6c 20 69 6e 20 61 20 62 | 75 66 66 65 72 20 6d 65 |l in a b|uffer me|
|00000b00| 61 6e 73 20 6f 66 66 65 | 72 20 74 6f 20 73 61 76 |ans offe|r to sav|
|00000b10| 65 20 74 68 65 20 62 75 | 66 66 65 72 20 6f 6e 20 |e the bu|ffer on |
|00000b20| 65 78 69 74 0a 65 76 65 | 6e 20 69 66 20 74 68 65 |exit.eve|n if the|
|00000b30| 20 62 75 66 66 65 72 20 | 69 73 20 6e 6f 74 20 76 | buffer |is not v|
|00000b40| 69 73 69 74 69 6e 67 20 | 61 20 66 69 6c 65 2e 0a |isiting |a file..|
|00000b50| 41 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 6c 6f |Automati|cally lo|
|00000b60| 63 61 6c 20 69 6e 20 61 | 6c 6c 20 62 75 66 66 65 |cal in a|ll buffe|
|00000b70| 72 73 2e 22 29 0a 28 6d | 61 6b 65 2d 76 61 72 69 |rs.").(m|ake-vari|
|00000b80| 61 62 6c 65 2d 62 75 66 | 66 65 72 2d 6c 6f 63 61 |able-buf|fer-loca|
|00000b90| 6c 20 27 62 75 66 66 65 | 72 2d 6f 66 66 65 72 2d |l 'buffe|r-offer-|
|00000ba0| 73 61 76 65 29 0a 28 64 | 65 66 76 61 72 20 62 75 |save).(d|efvar bu|
|00000bb0| 66 66 65 72 2d 66 69 6c | 65 2d 6e 75 6d 62 65 72 |ffer-fil|e-number|
|00000bc0| 20 6e 69 6c 20 22 5c 0a | 54 68 65 20 64 65 76 69 | nil "\.|The devi|
|00000bd0| 63 65 20 6e 75 6d 62 65 | 72 20 61 6e 64 20 66 69 |ce numbe|r and fi|
|00000be0| 6c 65 20 6e 75 6d 62 65 | 72 20 6f 66 20 74 68 65 |le numbe|r of the|
|00000bf0| 20 66 69 6c 65 20 76 69 | 73 69 74 65 64 20 69 6e | file vi|sited in|
|00000c00| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 62 75 66 | the cur|rent buf|
|00000c10| 66 65 72 2e 0a 54 68 65 | 20 76 61 6c 75 65 20 69 |fer..The| value i|
|00000c20| 73 20 61 20 6c 69 73 74 | 20 6f 66 20 74 68 65 20 |s a list| of the |
|00000c30| 66 6f 72 6d 20 28 46 49 | 4c 45 4e 55 4d 20 44 45 |form (FI|LENUM DE|
|00000c40| 56 4e 55 4d 29 2e 0a 54 | 68 69 73 20 70 61 69 72 |VNUM)..T|his pair|
|00000c50| 20 6f 66 20 6e 75 6d 62 | 65 72 73 20 75 6e 69 71 | of numb|ers uniq|
|00000c60| 75 65 6c 79 20 69 64 65 | 6e 74 69 66 69 65 73 20 |uely ide|ntifies |
|00000c70| 74 68 65 20 66 69 6c 65 | 2e 0a 49 66 20 74 68 65 |the file|..If the|
|00000c80| 20 62 75 66 66 65 72 20 | 69 73 20 76 69 73 69 74 | buffer |is visit|
|00000c90| 69 6e 67 20 61 20 6e 65 | 77 20 66 69 6c 65 2c 20 |ing a ne|w file, |
|00000ca0| 74 68 65 20 76 61 6c 75 | 65 20 69 73 20 6e 69 6c |the valu|e is nil|
|00000cb0| 2e 22 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |.").(byt|e-code "|
|00000cc0| c0 c1 21 88 c2 c1 c3 c4 | 23 87 22 20 5b 6d 61 6b |..!.....|#." [mak|
|00000cd0| 65 2d 76 61 72 69 61 62 | 6c 65 2d 62 75 66 66 65 |e-variab|le-buffe|
|00000ce0| 72 2d 6c 6f 63 61 6c 20 | 62 75 66 66 65 72 2d 66 |r-local |buffer-f|
|00000cf0| 69 6c 65 2d 6e 75 6d 62 | 65 72 20 70 75 74 20 70 |ile-numb|er put p|
|00000d00| 65 72 6d 61 6e 65 6e 74 | 2d 6c 6f 63 61 6c 20 74 |ermanent|-local t|
|00000d10| 5d 20 34 29 0a 28 64 65 | 66 63 6f 6e 73 74 20 66 |] 4).(de|fconst f|
|00000d20| 69 6c 65 2d 70 72 65 63 | 69 6f 75 73 2d 66 6c 61 |ile-prec|ious-fla|
|00000d30| 67 20 6e 69 6c 20 22 5c | 0a 2a 4e 6f 6e 2d 6e 69 |g nil "\|.*Non-ni|
|00000d40| 6c 20 6d 65 61 6e 73 20 | 70 72 6f 74 65 63 74 20 |l means |protect |
|00000d50| 61 67 61 69 6e 73 74 20 | 49 2f 4f 20 65 72 72 6f |against |I/O erro|
|00000d60| 72 73 20 77 68 69 6c 65 | 20 73 61 76 69 6e 67 20 |rs while| saving |
|00000d70| 66 69 6c 65 73 2e 0a 53 | 6f 6d 65 20 6d 6f 64 65 |files..S|ome mode|
|00000d80| 73 20 73 65 74 20 74 68 | 69 73 20 6e 6f 6e 2d 6e |s set th|is non-n|
|00000d90| 69 6c 20 69 6e 20 70 61 | 72 74 69 63 75 6c 61 72 |il in pa|rticular|
|00000da0| 20 62 75 66 66 65 72 73 | 2e 22 29 0a 28 64 65 66 | buffers|.").(def|
|00000db0| 76 61 72 20 76 65 72 73 | 69 6f 6e 2d 63 6f 6e 74 |var vers|ion-cont|
|00000dc0| 72 6f 6c 20 6e 69 6c 20 | 22 5c 0a 2a 43 6f 6e 74 |rol nil |"\.*Cont|
|00000dd0| 72 6f 6c 20 75 73 65 20 | 6f 66 20 76 65 72 73 69 |rol use |of versi|
|00000de0| 6f 6e 20 6e 75 6d 62 65 | 72 73 20 66 6f 72 20 62 |on numbe|rs for b|
|00000df0| 61 63 6b 75 70 20 66 69 | 6c 65 73 2e 0a 74 20 6d |ackup fi|les..t m|
|00000e00| 65 61 6e 73 20 6d 61 6b | 65 20 6e 75 6d 65 72 69 |eans mak|e numeri|
|00000e10| 63 20 62 61 63 6b 75 70 | 20 76 65 72 73 69 6f 6e |c backup| version|
|00000e20| 73 20 75 6e 63 6f 6e 64 | 69 74 69 6f 6e 61 6c 6c |s uncond|itionall|
|00000e30| 79 2e 0a 6e 69 6c 20 6d | 65 61 6e 73 20 6d 61 6b |y..nil m|eans mak|
|00000e40| 65 20 74 68 65 6d 20 66 | 6f 72 20 66 69 6c 65 73 |e them f|or files|
|00000e50| 20 74 68 61 74 20 68 61 | 76 65 20 73 6f 6d 65 20 | that ha|ve some |
|00000e60| 61 6c 72 65 61 64 79 2e | 0a 60 6e 65 76 65 72 27 |already.|.`never'|
|00000e70| 20 6d 65 61 6e 73 20 64 | 6f 20 6e 6f 74 20 6d 61 | means d|o not ma|
|00000e80| 6b 65 20 74 68 65 6d 2e | 22 29 0a 28 64 65 66 76 |ke them.|").(defv|
|00000e90| 61 72 20 64 69 72 65 64 | 2d 6b 65 70 74 2d 76 65 |ar dired|-kept-ve|
|00000ea0| 72 73 69 6f 6e 73 20 32 | 20 22 5c 0a 2a 57 68 65 |rsions 2| "\.*Whe|
|00000eb0| 6e 20 63 6c 65 61 6e 69 | 6e 67 20 64 69 72 65 63 |n cleani|ng direc|
|00000ec0| 74 6f 72 79 2c 20 6e 75 | 6d 62 65 72 20 6f 66 20 |tory, nu|mber of |
|00000ed0| 76 65 72 73 69 6f 6e 73 | 20 74 6f 20 6b 65 65 70 |versions| to keep|
|00000ee0| 2e 22 29 0a 28 64 65 66 | 76 61 72 20 64 65 6c 65 |.").(def|var dele|
|00000ef0| 74 65 2d 6f 6c 64 2d 76 | 65 72 73 69 6f 6e 73 20 |te-old-v|ersions |
|00000f00| 6e 69 6c 20 22 5c 0a 2a | 49 66 20 74 2c 20 64 65 |nil "\.*|If t, de|
|00000f10| 6c 65 74 65 20 65 78 63 | 65 73 73 20 62 61 63 6b |lete exc|ess back|
|00000f20| 75 70 20 76 65 72 73 69 | 6f 6e 73 20 73 69 6c 65 |up versi|ons sile|
|00000f30| 6e 74 6c 79 2e 0a 49 66 | 20 6e 69 6c 2c 20 61 73 |ntly..If| nil, as|
|00000f40| 6b 20 63 6f 6e 66 69 72 | 6d 61 74 69 6f 6e 2e 20 |k confir|mation. |
|00000f50| 20 41 6e 79 20 6f 74 68 | 65 72 20 76 61 6c 75 65 | Any oth|er value|
|00000f60| 20 70 72 65 76 65 6e 74 | 73 20 61 6e 79 20 74 72 | prevent|s any tr|
|00000f70| 69 6d 6d 69 6e 67 2e 22 | 29 0a 28 64 65 66 76 61 |imming."|).(defva|
|00000f80| 72 20 6b 65 70 74 2d 6f | 6c 64 2d 76 65 72 73 69 |r kept-o|ld-versi|
|00000f90| 6f 6e 73 20 32 20 22 5c | 0a 2a 4e 75 6d 62 65 72 |ons 2 "\|.*Number|
|00000fa0| 20 6f 66 20 6f 6c 64 65 | 73 74 20 76 65 72 73 69 | of olde|st versi|
|00000fb0| 6f 6e 73 20 74 6f 20 6b | 65 65 70 20 77 68 65 6e |ons to k|eep when|
|00000fc0| 20 61 20 6e 65 77 20 6e | 75 6d 62 65 72 65 64 20 | a new n|umbered |
|00000fd0| 62 61 63 6b 75 70 20 69 | 73 20 6d 61 64 65 2e 22 |backup i|s made."|
|00000fe0| 29 0a 28 64 65 66 76 61 | 72 20 6b 65 70 74 2d 6e |).(defva|r kept-n|
|00000ff0| 65 77 2d 76 65 72 73 69 | 6f 6e 73 20 32 20 22 5c |ew-versi|ons 2 "\|
|00001000| 0a 2a 4e 75 6d 62 65 72 | 20 6f 66 20 6e 65 77 65 |.*Number| of newe|
|00001010| 73 74 20 76 65 72 73 69 | 6f 6e 73 20 74 6f 20 6b |st versi|ons to k|
|00001020| 65 65 70 20 77 68 65 6e | 20 61 20 6e 65 77 20 6e |eep when| a new n|
|00001030| 75 6d 62 65 72 65 64 20 | 62 61 63 6b 75 70 20 69 |umbered |backup i|
|00001040| 73 20 6d 61 64 65 2e 0a | 49 6e 63 6c 75 64 65 73 |s made..|Includes|
|00001050| 20 74 68 65 20 6e 65 77 | 20 62 61 63 6b 75 70 2e | the new| backup.|
|00001060| 20 20 4d 75 73 74 20 62 | 65 20 3e 20 30 22 29 0a | Must b|e > 0").|
|00001070| 28 64 65 66 63 6f 6e 73 | 74 20 72 65 71 75 69 72 |(defcons|t requir|
|00001080| 65 2d 66 69 6e 61 6c 2d | 6e 65 77 6c 69 6e 65 20 |e-final-|newline |
|00001090| 6e 69 6c 20 22 5c 0a 2a | 56 61 6c 75 65 20 6f 66 |nil "\.*|Value of|
|000010a0| 20 74 20 73 61 79 73 20 | 73 69 6c 65 6e 74 6c 79 | t says |silently|
|000010b0| 20 65 6e 73 75 72 65 20 | 61 20 66 69 6c 65 20 65 | ensure |a file e|
|000010c0| 6e 64 73 20 69 6e 20 61 | 20 6e 65 77 6c 69 6e 65 |nds in a| newline|
|000010d0| 20 77 68 65 6e 20 69 74 | 20 69 73 20 73 61 76 65 | when it| is save|
|000010e0| 64 2e 0a 4e 6f 6e 2d 6e | 69 6c 20 62 75 74 20 6e |d..Non-n|il but n|
|000010f0| 6f 74 20 74 20 73 61 79 | 73 20 61 73 6b 20 75 73 |ot t say|s ask us|
|00001100| 65 72 20 77 68 65 74 68 | 65 72 20 74 6f 20 61 64 |er wheth|er to ad|
|00001110| 64 20 61 20 6e 65 77 6c | 69 6e 65 20 77 68 65 6e |d a newl|ine when|
|00001120| 20 74 68 65 72 65 20 69 | 73 6e 27 74 20 6f 6e 65 | there i|sn't one|
|00001130| 2e 0a 6e 69 6c 20 6d 65 | 61 6e 73 20 64 6f 6e 27 |..nil me|ans don'|
|00001140| 74 20 61 64 64 20 6e 65 | 77 6c 69 6e 65 73 2e 22 |t add ne|wlines."|
|00001150| 29 0a 28 64 65 66 63 6f | 6e 73 74 20 61 75 74 6f |).(defco|nst auto|
|00001160| 2d 73 61 76 65 2d 64 65 | 66 61 75 6c 74 20 74 20 |-save-de|fault t |
|00001170| 22 5c 0a 2a 4e 6f 6e 2d | 6e 69 6c 20 73 61 79 73 |"\.*Non-|nil says|
|00001180| 20 62 79 20 64 65 66 61 | 75 6c 74 20 64 6f 20 61 | by defa|ult do a|
|00001190| 75 74 6f 2d 73 61 76 69 | 6e 67 20 6f 66 20 65 76 |uto-savi|ng of ev|
|000011a0| 65 72 79 20 66 69 6c 65 | 2d 76 69 73 69 74 69 6e |ery file|-visitin|
|000011b0| 67 20 62 75 66 66 65 72 | 2e 22 29 0a 28 64 65 66 |g buffer|.").(def|
|000011c0| 63 6f 6e 73 74 20 61 75 | 74 6f 2d 73 61 76 65 2d |const au|to-save-|
|000011d0| 76 69 73 69 74 65 64 2d | 66 69 6c 65 2d 6e 61 6d |visited-|file-nam|
|000011e0| 65 20 6e 69 6c 20 22 5c | 0a 2a 4e 6f 6e 2d 6e 69 |e nil "\|.*Non-ni|
|000011f0| 6c 20 73 61 79 73 20 61 | 75 74 6f 2d 73 61 76 65 |l says a|uto-save|
|00001200| 20 61 20 62 75 66 66 65 | 72 20 69 6e 20 74 68 65 | a buffe|r in the|
|00001210| 20 66 69 6c 65 20 69 74 | 20 69 73 20 76 69 73 69 | file it| is visi|
|00001220| 74 69 6e 67 2c 20 77 68 | 65 6e 20 70 72 61 63 74 |ting, wh|en pract|
|00001230| 69 63 61 6c 2e 0a 4e 6f | 72 6d 61 6c 6c 79 20 61 |ical..No|rmally a|
|00001240| 75 74 6f 2d 73 61 76 65 | 20 66 69 6c 65 73 20 61 |uto-save| files a|
|00001250| 72 65 20 77 72 69 74 74 | 65 6e 20 75 6e 64 65 72 |re writt|en under|
|00001260| 20 6f 74 68 65 72 20 6e | 61 6d 65 73 2e 22 29 0a | other n|ames.").|
|00001270| 28 64 65 66 63 6f 6e 73 | 74 20 73 61 76 65 2d 61 |(defcons|t save-a|
|00001280| 62 62 72 65 76 73 20 6e | 69 6c 20 22 5c 0a 2a 4e |bbrevs n|il "\.*N|
|00001290| 6f 6e 2d 6e 69 6c 20 6d | 65 61 6e 73 20 73 61 76 |on-nil m|eans sav|
|000012a0| 65 20 77 6f 72 64 20 61 | 62 62 72 65 76 73 20 74 |e word a|bbrevs t|
|000012b0| 6f 6f 20 77 68 65 6e 20 | 66 69 6c 65 73 20 61 72 |oo when |files ar|
|000012c0| 65 20 73 61 76 65 64 2e | 0a 4c 6f 61 64 69 6e 67 |e saved.|.Loading|
|000012d0| 20 61 6e 20 61 62 62 72 | 65 76 20 66 69 6c 65 20 | an abbr|ev file |
|000012e0| 73 65 74 73 20 74 68 69 | 73 20 74 6f 20 74 2e 22 |sets thi|s to t."|
|000012f0| 29 0a 28 64 65 66 63 6f | 6e 73 74 20 66 69 6e 64 |).(defco|nst find|
|00001300| 2d 66 69 6c 65 2d 72 75 | 6e 2d 64 69 72 65 64 20 |-file-ru|n-dired |
|00001310| 74 20 22 5c 0a 2a 4e 6f | 6e 2d 6e 69 6c 20 73 61 |t "\.*No|n-nil sa|
|00001320| 79 73 20 72 75 6e 20 64 | 69 72 65 64 20 69 66 20 |ys run d|ired if |
|00001330| 60 66 69 6e 64 2d 66 69 | 6c 65 27 20 69 73 20 67 |`find-fi|le' is g|
|00001340| 69 76 65 6e 20 74 68 65 | 20 6e 61 6d 65 20 6f 66 |iven the| name of|
|00001350| 20 61 20 64 69 72 65 63 | 74 6f 72 79 2e 22 29 0a | a direc|tory.").|
|00001360| 28 64 65 66 76 61 72 20 | 66 69 6e 64 2d 66 69 6c |(defvar |find-fil|
|00001370| 65 2d 6e 6f 74 2d 66 6f | 75 6e 64 2d 68 6f 6f 6b |e-not-fo|und-hook|
|00001380| 73 20 6e 69 6c 20 22 5c | 0a 4c 69 73 74 20 6f 66 |s nil "\|.List of|
|00001390| 20 66 75 6e 63 74 69 6f | 6e 73 20 74 6f 20 62 65 | functio|ns to be|
|000013a0| 20 63 61 6c 6c 65 64 20 | 66 6f 72 20 60 66 69 6e | called |for `fin|
|000013b0| 64 2d 66 69 6c 65 27 20 | 6f 6e 20 6e 6f 6e 65 78 |d-file' |on nonex|
|000013c0| 69 73 74 65 6e 74 20 66 | 69 6c 65 2e 0a 54 68 65 |istent f|ile..The|
|000013d0| 73 65 20 66 75 6e 63 74 | 69 6f 6e 73 20 61 72 65 |se funct|ions are|
|000013e0| 20 63 61 6c 6c 65 64 20 | 61 73 20 73 6f 6f 6e 20 | called |as soon |
|000013f0| 61 73 20 74 68 65 20 65 | 72 72 6f 72 20 69 73 20 |as the e|rror is |
|00001400| 64 65 74 65 63 74 65 64 | 2e 0a 60 62 75 66 66 65 |detected|..`buffe|
|00001410| 72 2d 66 69 6c 65 2d 6e | 61 6d 65 27 20 69 73 20 |r-file-n|ame' is |
|00001420| 61 6c 72 65 61 64 79 20 | 73 65 74 20 75 70 2e 0a |already |set up..|
|00001430| 54 68 65 20 66 75 6e 63 | 74 69 6f 6e 73 20 61 72 |The func|tions ar|
|00001440| 65 20 63 61 6c 6c 65 64 | 20 69 6e 20 74 68 65 20 |e called| in the |
|00001450| 6f 72 64 65 72 20 67 69 | 76 65 6e 20 75 6e 74 69 |order gi|ven unti|
|00001460| 6c 20 6f 6e 65 20 6f 66 | 20 74 68 65 6d 20 72 65 |l one of| them re|
|00001470| 74 75 72 6e 73 20 6e 6f | 6e 2d 6e 69 6c 2e 22 29 |turns no|n-nil.")|
|00001480| 0a 28 64 65 66 76 61 72 | 20 66 69 6e 64 2d 66 69 |.(defvar| find-fi|
|00001490| 6c 65 2d 68 6f 6f 6b 73 | 20 6e 69 6c 20 22 5c 0a |le-hooks| nil "\.|
|000014a0| 4c 69 73 74 20 6f 66 20 | 66 75 6e 63 74 69 6f 6e |List of |function|
|000014b0| 73 20 74 6f 20 62 65 20 | 63 61 6c 6c 65 64 20 61 |s to be |called a|
|000014c0| 66 74 65 72 20 61 20 62 | 75 66 66 65 72 20 69 73 |fter a b|uffer is|
|000014d0| 20 6c 6f 61 64 65 64 20 | 66 72 6f 6d 20 61 20 66 | loaded |from a f|
|000014e0| 69 6c 65 2e 0a 54 68 65 | 20 62 75 66 66 65 72 27 |ile..The| buffer'|
|000014f0| 73 20 6c 6f 63 61 6c 20 | 76 61 72 69 61 62 6c 65 |s local |variable|
|00001500| 73 20 28 69 66 20 61 6e | 79 29 20 77 69 6c 6c 20 |s (if an|y) will |
|00001510| 68 61 76 65 20 62 65 65 | 6e 20 70 72 6f 63 65 73 |have bee|n proces|
|00001520| 73 65 64 20 62 65 66 6f | 72 65 20 74 68 65 0a 66 |sed befo|re the.f|
|00001530| 75 6e 63 74 69 6f 6e 73 | 20 61 72 65 20 63 61 6c |unctions| are cal|
|00001540| 6c 65 64 2e 22 29 0a 28 | 64 65 66 76 61 72 20 77 |led.").(|defvar w|
|00001550| 72 69 74 65 2d 66 69 6c | 65 2d 68 6f 6f 6b 73 20 |rite-fil|e-hooks |
|00001560| 6e 69 6c 20 22 5c 0a 4c | 69 73 74 20 6f 66 20 66 |nil "\.L|ist of f|
|00001570| 75 6e 63 74 69 6f 6e 73 | 20 74 6f 20 62 65 20 63 |unctions| to be c|
|00001580| 61 6c 6c 65 64 20 62 65 | 66 6f 72 65 20 77 72 69 |alled be|fore wri|
|00001590| 74 69 6e 67 20 6f 75 74 | 20 61 20 62 75 66 66 65 |ting out| a buffe|
|000015a0| 72 20 74 6f 20 61 20 66 | 69 6c 65 2e 0a 49 66 20 |r to a f|ile..If |
|000015b0| 6f 6e 65 20 6f 66 20 74 | 68 65 6d 20 72 65 74 75 |one of t|hem retu|
|000015c0| 72 6e 73 20 6e 6f 6e 2d | 6e 69 6c 2c 20 74 68 65 |rns non-|nil, the|
|000015d0| 20 66 69 6c 65 20 69 73 | 20 63 6f 6e 73 69 64 65 | file is| conside|
|000015e0| 72 65 64 20 61 6c 72 65 | 61 64 79 20 77 72 69 74 |red alre|ady writ|
|000015f0| 74 65 6e 0a 61 6e 64 20 | 74 68 65 20 72 65 73 74 |ten.and |the rest|
|00001600| 20 61 72 65 20 6e 6f 74 | 20 63 61 6c 6c 65 64 2e | are not| called.|
|00001610| 0a 54 68 65 73 65 20 68 | 6f 6f 6b 73 20 61 72 65 |.These h|ooks are|
|00001620| 20 63 6f 6e 73 69 64 65 | 72 65 64 20 74 6f 20 70 | conside|red to p|
|00001630| 65 72 74 61 69 6e 20 74 | 6f 20 74 68 65 20 76 69 |ertain t|o the vi|
|00001640| 73 69 74 65 64 20 66 69 | 6c 65 2e 0a 53 6f 20 74 |sited fi|le..So t|
|00001650| 68 69 73 20 6c 69 73 74 | 20 69 73 20 63 6c 65 61 |his list| is clea|
|00001660| 72 65 64 20 69 66 20 79 | 6f 75 20 63 68 61 6e 67 |red if y|ou chang|
|00001670| 65 20 74 68 65 20 76 69 | 73 69 74 65 64 20 66 69 |e the vi|sited fi|
|00001680| 6c 65 20 6e 61 6d 65 2e | 0a 53 65 65 20 61 6c 73 |le name.|.See als|
|00001690| 6f 20 60 77 72 69 74 65 | 2d 63 6f 6e 74 65 6e 74 |o `write|-content|
|000016a0| 73 2d 68 6f 6f 6b 73 27 | 20 61 6e 64 20 60 63 6f |s-hooks'| and `co|
|000016b0| 6e 74 69 6e 75 65 2d 73 | 61 76 65 2d 62 75 66 66 |ntinue-s|ave-buff|
|000016c0| 65 72 27 2e 0a 44 6f 6e | 27 74 20 6d 61 6b 65 20 |er'..Don|'t make |
|000016d0| 74 68 69 73 20 76 61 72 | 69 61 62 6c 65 20 62 75 |this var|iable bu|
|000016e0| 66 66 65 72 2d 6c 6f 63 | 61 6c 3b 20 69 6e 73 74 |ffer-loc|al; inst|
|000016f0| 65 61 64 2c 20 75 73 65 | 20 60 6c 6f 63 61 6c 2d |ead, use| `local-|
|00001700| 77 72 69 74 65 2d 66 69 | 6c 65 2d 68 6f 6f 6b 73 |write-fi|le-hooks|
|00001710| 27 2e 22 29 0a 28 70 75 | 74 20 27 77 72 69 74 65 |'.").(pu|t 'write|
|00001720| 2d 66 69 6c 65 2d 68 6f | 6f 6b 73 20 27 70 65 72 |-file-ho|oks 'per|
|00001730| 6d 61 6e 65 6e 74 2d 6c | 6f 63 61 6c 20 74 29 0a |manent-l|ocal t).|
|00001740| 28 64 65 66 76 61 72 20 | 6c 6f 63 61 6c 2d 77 72 |(defvar |local-wr|
|00001750| 69 74 65 2d 66 69 6c 65 | 2d 68 6f 6f 6b 73 20 6e |ite-file|-hooks n|
|00001760| 69 6c 20 22 5c 0a 4a 75 | 73 74 20 6c 69 6b 65 20 |il "\.Ju|st like |
|00001770| 60 77 72 69 74 65 2d 66 | 69 6c 65 2d 68 6f 6f 6b |`write-f|ile-hook|
|00001780| 73 27 2c 20 65 78 63 65 | 70 74 20 69 6e 74 65 6e |s', exce|pt inten|
|00001790| 64 65 64 20 66 6f 72 20 | 70 65 72 2d 62 75 66 66 |ded for |per-buff|
|000017a0| 65 72 20 75 73 65 2e 0a | 54 68 65 20 66 75 6e 63 |er use..|The func|
|000017b0| 74 69 6f 6e 73 20 69 6e | 20 74 68 69 73 20 6c 69 |tions in| this li|
|000017c0| 73 74 20 61 72 65 20 63 | 61 6c 6c 65 64 20 62 65 |st are c|alled be|
|000017d0| 66 6f 72 65 20 74 68 65 | 20 6f 6e 65 73 20 69 6e |fore the| ones in|
|000017e0| 0a 60 77 72 69 74 65 2d | 66 69 6c 65 2d 68 6f 6f |.`write-|file-hoo|
|000017f0| 6b 73 27 2e 22 29 0a 28 | 62 79 74 65 2d 63 6f 64 |ks'.").(|byte-cod|
|00001800| 65 20 22 c0 c1 21 88 c2 | c1 c3 c4 23 88 c2 c5 c3 |e "..!..|...#....|
|00001810| c4 23 87 22 20 5b 6d 61 | 6b 65 2d 76 61 72 69 61 |.#." [ma|ke-varia|
|00001820| 62 6c 65 2d 62 75 66 66 | 65 72 2d 6c 6f 63 61 6c |ble-buff|er-local|
|00001830| 20 6c 6f 63 61 6c 2d 77 | 72 69 74 65 2d 66 69 6c | local-w|rite-fil|
|00001840| 65 2d 68 6f 6f 6b 73 20 | 70 75 74 20 70 65 72 6d |e-hooks |put perm|
|00001850| 61 6e 65 6e 74 2d 6c 6f | 63 61 6c 20 74 20 61 66 |anent-lo|cal t af|
|00001860| 74 65 72 2d 73 61 76 65 | 2d 68 6f 6f 6b 5d 20 34 |ter-save|-hook] 4|
|00001870| 29 0a 28 64 65 66 76 61 | 72 20 61 66 74 65 72 2d |).(defva|r after-|
|00001880| 73 61 76 65 2d 68 6f 6f | 6b 20 6e 69 6c 20 22 5c |save-hoo|k nil "\|
|00001890| 0a 4c 69 73 74 20 6f 66 | 20 66 75 6e 63 74 69 6f |.List of| functio|
|000018a0| 6e 73 20 74 6f 20 62 65 | 20 63 61 6c 6c 65 64 20 |ns to be| called |
|000018b0| 61 66 74 65 72 20 77 72 | 69 74 69 6e 67 20 6f 75 |after wr|iting ou|
|000018c0| 74 20 61 20 62 75 66 66 | 65 72 20 74 6f 20 61 20 |t a buff|er to a |
|000018d0| 66 69 6c 65 2e 0a 54 68 | 65 73 65 20 68 6f 6f 6b |file..Th|ese hook|
|000018e0| 73 20 61 72 65 20 63 6f | 6e 73 69 64 65 72 65 64 |s are co|nsidered|
|000018f0| 20 74 6f 20 70 65 72 74 | 61 69 6e 20 74 6f 20 74 | to pert|ain to t|
|00001900| 68 65 20 76 69 73 69 74 | 65 64 20 66 69 6c 65 2e |he visit|ed file.|
|00001910| 0a 53 6f 20 74 68 69 73 | 20 6c 69 73 74 20 69 73 |.So this| list is|
|00001920| 20 63 6c 65 61 72 65 64 | 20 69 66 20 79 6f 75 20 | cleared| if you |
|00001930| 63 68 61 6e 67 65 20 74 | 68 65 20 76 69 73 69 74 |change t|he visit|
|00001940| 65 64 20 66 69 6c 65 20 | 6e 61 6d 65 2e 22 29 0a |ed file |name.").|
|00001950| 28 70 75 74 20 27 61 66 | 74 65 72 2d 73 65 74 2d |(put 'af|ter-set-|
|00001960| 76 69 73 69 74 65 64 2d | 66 69 6c 65 2d 6e 61 6d |visited-|file-nam|
|00001970| 65 2d 68 6f 6f 6b 73 20 | 27 70 65 72 6d 61 6e 65 |e-hooks |'permane|
|00001980| 6e 74 2d 6c 6f 63 61 6c | 20 74 29 0a 28 64 65 66 |nt-local| t).(def|
|00001990| 76 61 72 20 61 66 74 65 | 72 2d 73 65 74 2d 76 69 |var afte|r-set-vi|
|000019a0| 73 69 74 65 64 2d 66 69 | 6c 65 2d 6e 61 6d 65 2d |sited-fi|le-name-|
|000019b0| 68 6f 6f 6b 73 20 6e 69 | 6c 20 22 5c 0a 4c 69 73 |hooks ni|l "\.Lis|
|000019c0| 74 20 6f 66 20 66 75 6e | 63 74 69 6f 6e 73 20 74 |t of fun|ctions t|
|000019d0| 6f 20 62 65 20 63 61 6c | 6c 65 64 20 61 66 74 65 |o be cal|led afte|
|000019e0| 72 20 5c 5c 5b 73 65 74 | 2d 76 69 73 69 74 65 64 |r \\[set|-visited|
|000019f0| 2d 66 69 6c 65 2d 6e 61 | 6d 65 5d 0a 6f 72 20 64 |-file-na|me].or d|
|00001a00| 75 72 69 6e 67 20 5c 5c | 5b 77 72 69 74 65 2d 66 |uring \\|[write-f|
|00001a10| 69 6c 65 5d 2e 0a 59 6f | 75 20 63 61 6e 20 75 73 |ile]..Yo|u can us|
|00001a20| 65 20 74 68 69 73 20 68 | 6f 6f 6b 20 74 6f 20 72 |e this h|ook to r|
|00001a30| 65 73 74 6f 72 65 20 6c | 6f 63 61 6c 20 76 61 6c |estore l|ocal val|
|00001a40| 75 65 73 20 6f 66 20 77 | 72 69 74 65 2d 66 69 6c |ues of w|rite-fil|
|00001a50| 65 2d 68 6f 6f 6b 73 2c | 0a 61 66 74 65 72 2d 77 |e-hooks,|.after-w|
|00001a60| 72 69 74 65 2d 66 69 6c | 65 2d 68 6f 6f 6b 73 2c |rite-fil|e-hooks,|
|00001a70| 20 61 6e 64 20 72 65 76 | 65 72 74 2d 62 75 66 66 | and rev|ert-buff|
|00001a80| 65 72 2d 66 75 6e 63 74 | 69 6f 6e 2c 20 77 68 69 |er-funct|ion, whi|
|00001a90| 63 68 20 70 65 72 74 61 | 69 6e 0a 74 6f 20 61 20 |ch perta|in.to a |
|00001aa0| 73 70 65 63 69 66 69 63 | 20 66 69 6c 65 20 61 6e |specific| file an|
|00001ab0| 64 20 74 68 65 72 65 66 | 6f 72 65 20 61 72 65 20 |d theref|ore are |
|00001ac0| 6e 6f 72 6d 61 6c 6c 79 | 20 6b 69 6c 6c 65 64 20 |normally| killed |
|00001ad0| 62 79 20 61 20 72 65 6e | 61 6d 65 2e 0a 50 75 74 |by a ren|ame..Put|
|00001ae0| 20 68 6f 6f 6b 73 20 70 | 65 72 74 61 69 6e 69 6e | hooks p|ertainin|
|00001af0| 67 20 74 6f 20 74 68 65 | 20 62 75 66 66 65 72 20 |g to the| buffer |
|00001b00| 63 6f 6e 74 65 6e 74 73 | 20 6f 6e 20 77 72 69 74 |contents| on writ|
|00001b10| 65 2d 63 6f 6e 74 65 6e | 74 73 2d 68 6f 6f 6b 73 |e-conten|ts-hooks|
|00001b20| 0a 61 6e 64 20 72 65 76 | 65 72 74 2d 62 75 66 66 |.and rev|ert-buff|
|00001b30| 65 72 2d 69 6e 73 65 72 | 74 2d 66 69 6c 65 2d 63 |er-inser|t-file-c|
|00001b40| 6f 6e 74 65 6e 74 73 2d | 66 75 6e 63 74 69 6f 6e |ontents-|function|
|00001b50| 2e 22 29 0a 28 64 65 66 | 76 61 72 20 77 72 69 74 |.").(def|var writ|
|00001b60| 65 2d 63 6f 6e 74 65 6e | 74 73 2d 68 6f 6f 6b 73 |e-conten|ts-hooks|
|00001b70| 20 6e 69 6c 20 22 5c 0a | 4c 69 73 74 20 6f 66 20 | nil "\.|List of |
|00001b80| 66 75 6e 63 74 69 6f 6e | 73 20 74 6f 20 62 65 20 |function|s to be |
|00001b90| 63 61 6c 6c 65 64 20 62 | 65 66 6f 72 65 20 77 72 |called b|efore wr|
|00001ba0| 69 74 69 6e 67 20 6f 75 | 74 20 61 20 62 75 66 66 |iting ou|t a buff|
|00001bb0| 65 72 20 74 6f 20 61 20 | 66 69 6c 65 2e 0a 49 66 |er to a |file..If|
|00001bc0| 20 6f 6e 65 20 6f 66 20 | 74 68 65 6d 20 72 65 74 | one of |them ret|
|00001bd0| 75 72 6e 73 20 6e 6f 6e | 2d 6e 69 6c 2c 20 74 68 |urns non|-nil, th|
|00001be0| 65 20 66 69 6c 65 20 69 | 73 20 63 6f 6e 73 69 64 |e file i|s consid|
|00001bf0| 65 72 65 64 20 61 6c 72 | 65 61 64 79 20 77 72 69 |ered alr|eady wri|
|00001c00| 74 74 65 6e 0a 61 6e 64 | 20 74 68 65 20 72 65 73 |tten.and| the res|
|00001c10| 74 20 61 72 65 20 6e 6f | 74 20 63 61 6c 6c 65 64 |t are no|t called|
|00001c20| 2e 0a 54 68 65 73 65 20 | 68 6f 6f 6b 73 20 61 72 |..These |hooks ar|
|00001c30| 65 20 63 6f 6e 73 69 64 | 65 72 65 64 20 74 6f 20 |e consid|ered to |
|00001c40| 70 65 72 74 61 69 6e 20 | 74 6f 20 74 68 65 20 62 |pertain |to the b|
|00001c50| 75 66 66 65 72 27 73 20 | 63 6f 6e 74 65 6e 74 73 |uffer's |contents|
|00001c60| 2c 0a 6e 6f 74 20 74 6f | 20 74 68 65 20 70 61 72 |,.not to| the par|
|00001c70| 74 69 63 75 6c 61 72 20 | 76 69 73 69 74 65 64 20 |ticular |visited |
|00001c80| 66 69 6c 65 3b 20 74 68 | 75 73 2c 20 60 73 65 74 |file; th|us, `set|
|00001c90| 2d 76 69 73 69 74 65 64 | 2d 66 69 6c 65 2d 6e 61 |-visited|-file-na|
|00001ca0| 6d 65 27 20 64 6f 65 73 | 0a 6e 6f 74 20 63 6c 65 |me' does|.not cle|
|00001cb0| 61 72 20 74 68 69 73 20 | 76 61 72 69 61 62 6c 65 |ar this |variable|
|00001cc0| 2c 20 62 75 74 20 63 68 | 61 6e 67 69 6e 67 20 74 |, but ch|anging t|
|00001cd0| 68 65 20 6d 61 6a 6f 72 | 20 6d 6f 64 65 20 64 6f |he major| mode do|
|00001ce0| 65 73 20 63 6c 65 61 72 | 20 69 74 2e 0a 53 65 65 |es clear| it..See|
|00001cf0| 20 61 6c 73 6f 20 60 77 | 72 69 74 65 2d 66 69 6c | also `w|rite-fil|
|00001d00| 65 2d 68 6f 6f 6b 73 27 | 20 61 6e 64 20 60 63 6f |e-hooks'| and `co|
|00001d10| 6e 74 69 6e 75 65 2d 73 | 61 76 65 2d 62 75 66 66 |ntinue-s|ave-buff|
|00001d20| 65 72 27 2e 22 29 0a 28 | 70 75 74 20 27 77 72 69 |er'.").(|put 'wri|
|00001d30| 74 65 2d 66 69 6c 65 2d | 64 61 74 61 2d 68 6f 6f |te-file-|data-hoo|
|00001d40| 6b 73 20 27 70 65 72 6d | 61 6e 65 6e 74 2d 6c 6f |ks 'perm|anent-lo|
|00001d50| 63 61 6c 20 74 29 0a 28 | 64 65 66 76 61 72 20 77 |cal t).(|defvar w|
|00001d60| 72 69 74 65 2d 66 69 6c | 65 2d 64 61 74 61 2d 68 |rite-fil|e-data-h|
|00001d70| 6f 6f 6b 73 20 6e 69 6c | 20 22 5c 0a 4c 69 73 74 |ooks nil| "\.List|
|00001d80| 20 6f 66 20 66 75 6e 63 | 74 69 6f 6e 73 20 74 6f | of func|tions to|
|00001d90| 20 62 65 20 63 61 6c 6c | 65 64 20 74 6f 20 70 75 | be call|ed to pu|
|00001da0| 74 20 74 68 65 20 62 79 | 74 65 73 20 6f 6e 20 64 |t the by|tes on d|
|00001db0| 69 73 6b 2e 20 20 0a 54 | 68 65 73 65 20 66 75 6e |isk. .T|hese fun|
|00001dc0| 63 74 69 6f 6e 73 20 72 | 65 63 65 69 76 65 20 74 |ctions r|eceive t|
|00001dd0| 68 65 20 6e 61 6d 65 20 | 6f 66 20 74 68 65 20 66 |he name |of the f|
|00001de0| 69 6c 65 20 74 6f 20 77 | 72 69 74 65 20 74 6f 20 |ile to w|rite to |
|00001df0| 61 73 20 61 72 67 75 6d | 65 6e 74 2e 0a 54 68 65 |as argum|ent..The|
|00001e00| 20 64 65 66 61 75 6c 74 | 20 62 65 68 61 76 69 6f | default| behavio|
|00001e10| 72 20 69 73 20 74 6f 20 | 63 61 6c 6c 20 0a 20 20 |r is to |call . |
|00001e20| 28 77 72 69 74 65 2d 72 | 65 67 69 6f 6e 20 28 70 |(write-r|egion (p|
|00001e30| 6f 69 6e 74 2d 6d 69 6e | 29 20 28 70 6f 69 6e 74 |oint-min|) (point|
|00001e40| 2d 6d 61 78 29 20 66 69 | 6c 65 6e 61 6d 65 20 6e |-max) fi|lename n|
|00001e50| 69 6c 20 74 29 0a 49 66 | 20 6f 6e 65 20 6f 66 20 |il t).If| one of |
|00001e60| 74 68 65 6d 20 72 65 74 | 75 72 6e 73 20 6e 6f 6e |them ret|urns non|
|00001e70| 2d 6e 69 6c 2c 20 74 68 | 65 20 66 69 6c 65 20 69 |-nil, th|e file i|
|00001e80| 73 20 63 6f 6e 73 69 64 | 65 72 65 64 20 61 6c 72 |s consid|ered alr|
|00001e90| 65 61 64 79 20 77 72 69 | 74 74 65 6e 0a 61 6e 64 |eady wri|tten.and|
|00001ea0| 20 74 68 65 20 72 65 73 | 74 20 61 72 65 20 6e 6f | the res|t are no|
|00001eb0| 74 20 63 61 6c 6c 65 64 | 2e 0a 54 68 65 73 65 20 |t called|..These |
|00001ec0| 68 6f 6f 6b 73 20 61 72 | 65 20 63 6f 6e 73 69 64 |hooks ar|e consid|
|00001ed0| 65 72 65 64 20 74 6f 20 | 70 65 72 74 61 69 6e 20 |ered to |pertain |
|00001ee0| 74 6f 20 74 68 65 20 76 | 69 73 69 74 65 64 20 66 |to the v|isited f|
|00001ef0| 69 6c 65 2e 0a 53 6f 20 | 74 68 69 73 20 6c 69 73 |ile..So |this lis|
|00001f00| 74 20 69 73 20 63 6c 65 | 61 72 65 64 20 69 66 20 |t is cle|ared if |
|00001f10| 79 6f 75 20 63 68 61 6e | 67 65 20 74 68 65 20 76 |you chan|ge the v|
|00001f20| 69 73 69 74 65 64 20 66 | 69 6c 65 20 6e 61 6d 65 |isited f|ile name|
|00001f30| 2e 0a 53 65 65 20 61 6c | 73 6f 20 60 77 72 69 74 |..See al|so `writ|
|00001f40| 65 2d 66 69 6c 65 2d 68 | 6f 6f 6b 73 27 2e 22 29 |e-file-h|ooks'.")|
|00001f50| 0a 28 64 65 66 63 6f 6e | 73 74 20 65 6e 61 62 6c |.(defcon|st enabl|
|00001f60| 65 2d 6c 6f 63 61 6c 2d | 76 61 72 69 61 62 6c 65 |e-local-|variable|
|00001f70| 73 20 74 20 22 5c 0a 2a | 43 6f 6e 74 72 6f 6c 20 |s t "\.*|Control |
|00001f80| 75 73 65 20 6f 66 20 6c | 6f 63 61 6c 2d 76 61 72 |use of l|ocal-var|
|00001f90| 69 61 62 6c 65 73 20 6c | 69 73 74 73 20 69 6e 20 |iables l|ists in |
|00001fa0| 66 69 6c 65 73 20 79 6f | 75 20 76 69 73 69 74 2e |files yo|u visit.|
|00001fb0| 0a 54 68 65 20 76 61 6c | 75 65 20 63 61 6e 20 62 |.The val|ue can b|
|00001fc0| 65 20 74 2c 20 6e 69 6c | 20 6f 72 20 73 6f 6d 65 |e t, nil| or some|
|00001fd0| 74 68 69 6e 67 20 65 6c | 73 65 2e 0a 41 20 76 61 |thing el|se..A va|
|00001fe0| 6c 75 65 20 6f 66 20 74 | 20 6d 65 61 6e 73 20 6c |lue of t| means l|
|00001ff0| 6f 63 61 6c 2d 76 61 72 | 69 61 62 6c 65 73 20 6c |ocal-var|iables l|
|00002000| 69 73 74 73 20 61 72 65 | 20 6f 62 65 79 65 64 3b |ists are| obeyed;|
|00002010| 0a 6e 69 6c 20 6d 65 61 | 6e 73 20 74 68 65 79 20 |.nil mea|ns they |
|00002020| 61 72 65 20 69 67 6e 6f | 72 65 64 3b 20 61 6e 79 |are igno|red; any|
|00002030| 74 68 69 6e 67 20 65 6c | 73 65 20 6d 65 61 6e 73 |thing el|se means|
|00002040| 20 71 75 65 72 79 2e 0a | 0a 54 68 65 20 63 6f 6d | query..|.The com|
|00002050| 6d 61 6e 64 20 5c 5c 5b | 6e 6f 72 6d 61 6c 2d 6d |mand \\[|normal-m|
|00002060| 6f 64 65 5d 20 61 6c 77 | 61 79 73 20 6f 62 65 79 |ode] alw|ays obey|
|00002070| 73 20 6c 6f 63 61 6c 2d | 76 61 72 69 61 62 6c 65 |s local-|variable|
|00002080| 73 20 6c 69 73 74 73 0a | 61 6e 64 20 69 67 6e 6f |s lists.|and igno|
|00002090| 72 65 73 20 74 68 69 73 | 20 76 61 72 69 61 62 6c |res this| variabl|
|000020a0| 65 2e 22 29 0a 28 64 65 | 66 63 6f 6e 73 74 20 65 |e.").(de|fconst e|
|000020b0| 6e 61 62 6c 65 2d 6c 6f | 63 61 6c 2d 65 76 61 6c |nable-lo|cal-eval|
|000020c0| 20 27 6d 61 79 62 65 20 | 22 5c 0a 2a 43 6f 6e 74 | 'maybe |"\.*Cont|
|000020d0| 72 6f 6c 20 70 72 6f 63 | 65 73 73 69 6e 67 20 6f |rol proc|essing o|
|000020e0| 66 20 74 68 65 20 5c 22 | 76 61 72 69 61 62 6c 65 |f the \"|variable|
|000020f0| 5c 22 20 60 65 76 61 6c | 27 20 69 6e 20 61 20 66 |\" `eval|' in a f|
|00002100| 69 6c 65 27 73 20 6c 6f | 63 61 6c 20 76 61 72 69 |ile's lo|cal vari|
|00002110| 61 62 6c 65 73 2e 0a 54 | 68 65 20 76 61 6c 75 65 |ables..T|he value|
|00002120| 20 63 61 6e 20 62 65 20 | 74 2c 20 6e 69 6c 20 6f | can be |t, nil o|
|00002130| 72 20 73 6f 6d 65 74 68 | 69 6e 67 20 65 6c 73 65 |r someth|ing else|
|00002140| 2e 0a 41 20 76 61 6c 75 | 65 20 6f 66 20 74 20 6d |..A valu|e of t m|
|00002150| 65 61 6e 73 20 6f 62 65 | 79 20 60 65 76 61 6c 27 |eans obe|y `eval'|
|00002160| 20 76 61 72 69 61 62 6c | 65 73 3b 0a 6e 69 6c 20 | variabl|es;.nil |
|00002170| 6d 65 61 6e 73 20 69 67 | 6e 6f 72 65 20 74 68 65 |means ig|nore the|
|00002180| 6d 3b 20 61 6e 79 74 68 | 69 6e 67 20 65 6c 73 65 |m; anyth|ing else|
|00002190| 20 6d 65 61 6e 73 20 71 | 75 65 72 79 2e 0a 0a 54 | means q|uery...T|
|000021a0| 68 65 20 63 6f 6d 6d 61 | 6e 64 20 5c 5c 5b 6e 6f |he comma|nd \\[no|
|000021b0| 72 6d 61 6c 2d 6d 6f 64 | 65 5d 20 61 6c 77 61 79 |rmal-mod|e] alway|
|000021c0| 73 20 6f 62 65 79 73 20 | 6c 6f 63 61 6c 2d 76 61 |s obeys |local-va|
|000021d0| 72 69 61 62 6c 65 73 20 | 6c 69 73 74 73 0a 61 6e |riables |lists.an|
|000021e0| 64 20 69 67 6e 6f 72 65 | 73 20 74 68 69 73 20 76 |d ignore|s this v|
|000021f0| 61 72 69 61 62 6c 65 2e | 22 29 0a 28 64 65 66 76 |ariable.|").(defv|
|00002200| 61 72 20 68 61 63 6b 2d | 6c 6f 63 61 6c 2d 76 61 |ar hack-|local-va|
|00002210| 72 69 61 62 6c 65 73 2d | 68 6f 6f 6b 20 6e 69 6c |riables-|hook nil|
|00002220| 20 22 5c 0a 4c 69 73 74 | 20 6f 66 20 66 75 6e 63 | "\.List| of func|
|00002230| 74 69 6f 6e 73 20 74 6f | 20 62 65 20 63 61 6c 6c |tions to| be call|
|00002240| 65 64 20 61 66 74 65 72 | 20 6c 6f 63 61 6c 20 76 |ed after| local v|
|00002250| 61 72 69 61 62 6c 65 73 | 20 69 6e 20 61 20 62 75 |ariables| in a bu|
|00002260| 66 66 65 72 20 68 61 76 | 65 0a 62 65 65 6e 20 70 |ffer hav|e.been p|
|00002270| 72 6f 63 65 73 73 65 64 | 2e 20 20 54 68 69 73 20 |rocessed|. This |
|00002280| 68 6f 6f 6b 20 72 75 6e | 73 20 65 76 65 6e 20 69 |hook run|s even i|
|00002290| 66 20 74 68 65 72 65 20 | 77 65 72 65 20 6e 6f 20 |f there |were no |
|000022a0| 6c 6f 63 61 6c 20 76 61 | 72 69 61 62 6c 65 73 20 |local va|riables |
|000022b0| 6f 72 0a 69 66 20 74 68 | 65 69 72 20 65 76 61 6c |or.if th|eir eval|
|000022c0| 75 61 74 69 6f 6e 20 77 | 61 73 20 73 75 70 70 72 |uation w|as suppr|
|000022d0| 65 73 73 65 64 2e 20 20 | 53 65 65 20 61 6c 73 6f |essed. |See also|
|000022e0| 20 60 65 6e 61 62 6c 65 | 2d 6c 6f 63 61 6c 2d 76 | `enable|-local-v|
|000022f0| 61 72 69 61 62 6c 65 73 | 27 0a 61 6e 64 20 60 65 |ariables|'.and `e|
|00002300| 6e 61 62 6c 65 2d 6c 6f | 63 61 6c 2d 65 76 61 6c |nable-lo|cal-eval|
|00002310| 27 2e 22 29 0a 28 62 79 | 74 65 2d 63 6f 64 65 20 |'.").(by|te-code |
|00002320| 22 c0 c1 21 ac 85 c2 c1 | c3 5c 22 88 c0 c4 21 ac |"..!....|.\"...!.|
|00002330| 85 c2 c4 c3 5c 22 88 c0 | 87 22 20 5b 66 62 6f 75 |....\"..|." [fbou|
|00002340| 6e 64 70 20 6c 6f 63 6b | 2d 62 75 66 66 65 72 20 |ndp lock|-buffer |
|00002350| 64 65 66 61 6c 69 61 73 | 20 69 67 6e 6f 72 65 20 |defalias| ignore |
|00002360| 75 6e 6c 6f 63 6b 2d 62 | 75 66 66 65 72 5d 20 33 |unlock-b|uffer] 3|
|00002370| 29 0a 28 66 73 65 74 20 | 27 70 77 64 20 23 5b 6e |).(fset |'pwd #[n|
|00002380| 69 6c 20 22 c0 c1 5c 6e | 5c 22 87 22 20 5b 6d 65 |il "..\n|\"." [me|
|00002390| 73 73 61 67 65 20 22 44 | 69 72 65 63 74 6f 72 79 |ssage "D|irectory|
|000023a0| 20 25 73 22 20 64 65 66 | 61 75 6c 74 2d 64 69 72 | %s" def|ault-dir|
|000023b0| 65 63 74 6f 72 79 5d 20 | 33 20 22 5c 0a 53 68 6f |ectory] |3 "\.Sho|
|000023c0| 77 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 64 65 |w the cu|rrent de|
|000023d0| 66 61 75 6c 74 20 64 69 | 72 65 63 74 6f 72 79 2e |fault di|rectory.|
|000023e0| 22 20 6e 69 6c 5d 29 0a | 28 64 65 66 76 61 72 20 |" nil]).|(defvar |
|000023f0| 63 64 2d 70 61 74 68 20 | 6e 69 6c 20 22 5c 0a 56 |cd-path |nil "\.V|
|00002400| 61 6c 75 65 20 6f 66 20 | 74 68 65 20 43 44 50 41 |alue of |the CDPA|
|00002410| 54 48 20 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 20 76 |TH envir|onment v|
|00002420| 61 72 69 61 62 6c 65 2c | 20 61 73 20 61 20 6c 69 |ariable,| as a li|
|00002430| 73 74 2e 0a 4e 6f 74 20 | 61 63 74 75 61 6c 6c 79 |st..Not |actually|
|00002440| 20 73 65 74 20 75 70 20 | 75 6e 74 69 6c 20 74 68 | set up |until th|
|00002450| 65 20 66 69 72 73 74 20 | 74 69 6d 65 20 79 6f 75 |e first |time you|
|00002460| 20 79 6f 75 20 75 73 65 | 20 69 74 2e 22 29 0a 28 | you use| it.").(|
|00002470| 66 73 65 74 20 27 70 61 | 72 73 65 2d 63 6f 6c 6f |fset 'pa|rse-colo|
|00002480| 6e 2d 70 61 74 68 20 23 | 5b 28 63 64 2d 70 61 74 |n-path #|[(cd-pat|
|00002490| 68 29 20 22 08 ad ad c1 | c2 c1 1b 1c 1d 08 c6 50 |h) "....|.......P|
|000024a0| 10 c7 c6 08 0c 23 89 13 | ab 98 0d 0c 0b 55 3f ad |.....#..|.....U?.|
|000024b0| 88 c8 c9 08 0c 0b 4f 21 | 21 43 a4 15 0b ca 5c 5c |......O!|!C....\\|
|000024c0| 14 aa 5f 0d 2b 87 22 20 | 5b 63 64 2d 70 61 74 68 |.._.+." |[cd-path|
|000024d0| 20 6e 69 6c 20 30 20 63 | 64 2d 63 6f 6c 6f 6e 20 | nil 0 c|d-colon |
|000024e0| 63 64 2d 73 74 61 72 74 | 20 63 64 2d 6c 69 73 74 |cd-start| cd-list|
|000024f0| 20 22 3a 22 20 73 74 72 | 69 6e 67 2d 6d 61 74 63 | ":" str|ing-matc|
|00002500| 68 20 73 75 62 73 74 69 | 74 75 74 65 2d 69 6e 2d |h substi|tute-in-|
|00002510| 66 69 6c 65 2d 6e 61 6d | 65 20 66 69 6c 65 2d 6e |file-nam|e file-n|
|00002520| 61 6d 65 2d 61 73 2d 64 | 69 72 65 63 74 6f 72 79 |ame-as-d|irectory|
|00002530| 20 31 5d 20 36 20 22 5c | 0a 45 78 70 6c 6f 64 65 | 1] 6 "\|.Explode|
|00002540| 20 61 20 63 6f 6c 6f 6e | 2d 73 65 70 61 72 61 74 | a colon|-separat|
|00002550| 65 64 20 6c 69 73 74 20 | 6f 66 20 70 61 74 68 73 |ed list |of paths|
|00002560| 20 69 6e 74 6f 20 61 20 | 73 74 72 69 6e 67 20 6c | into a |string l|
|00002570| 69 73 74 2e 22 5d 29 0a | 28 66 73 65 74 20 27 63 |ist."]).|(fset 'c|
|00002580| 64 2d 61 62 73 6f 6c 75 | 74 65 20 23 5b 28 64 69 |d-absolu|te #[(di|
|00002590| 72 29 20 22 08 c1 3d ac | 84 c2 0b 21 13 0c ab 84 |r) "..=.|...!....|
|000025a0| c5 0b 21 13 c6 c7 0b 21 | 21 13 c8 0b 21 ac 85 c9 |..!....!|!...!...|
|000025b0| ca 0b 5c 22 87 0b 89 16 | 0b 87 22 20 5b 73 79 73 |..\"....|.." [sys|
|000025c0| 74 65 6d 2d 74 79 70 65 | 20 76 61 78 2d 76 6d 73 |tem-type| vax-vms|
|000025d0| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 61 73 2d 64 69 | file-na|me-as-di|
|000025e0| 72 65 63 74 6f 72 79 20 | 64 69 72 20 66 69 6e 64 |rectory |dir find|
|000025f0| 2d 66 69 6c 65 2d 75 73 | 65 2d 74 72 75 65 6e 61 |-file-us|e-truena|
|00002600| 6d 65 73 20 66 69 6c 65 | 2d 74 72 75 65 6e 61 6d |mes file|-truenam|
|00002610| 65 20 61 62 62 72 65 76 | 69 61 74 65 2d 66 69 6c |e abbrev|iate-fil|
|00002620| 65 2d 6e 61 6d 65 20 65 | 78 70 61 6e 64 2d 66 69 |e-name e|xpand-fi|
|00002630| 6c 65 2d 6e 61 6d 65 20 | 66 69 6c 65 2d 64 69 72 |le-name |file-dir|
|00002640| 65 63 74 6f 72 79 2d 70 | 20 65 72 72 6f 72 20 22 |ectory-p| error "|
|00002650| 25 73 20 69 73 20 6e 6f | 74 20 61 20 64 69 72 65 |%s is no|t a dire|
|00002660| 63 74 6f 72 79 22 20 64 | 65 66 61 75 6c 74 2d 64 |ctory" d|efault-d|
|00002670| 69 72 65 63 74 6f 72 79 | 5d 20 33 20 22 5c 0a 43 |irectory|] 3 "\.C|
|00002680| 68 61 6e 67 65 20 63 75 | 72 72 65 6e 74 20 64 69 |hange cu|rrent di|
|00002690| 72 65 63 74 6f 72 79 20 | 74 6f 20 67 69 76 65 6e |rectory |to given|
|000026a0| 20 61 62 73 6f 6c 75 74 | 65 20 66 69 6c 65 20 6e | absolut|e file n|
|000026b0| 61 6d 65 20 44 49 52 2e | 22 5d 29 0a 28 66 73 65 |ame DIR.|"]).(fse|
|000026c0| 74 20 27 63 64 20 23 5b | 28 64 69 72 29 20 22 c0 |t 'cd #[|(dir) ".|
|000026d0| 09 21 ab 86 c2 c3 09 21 | 21 87 0c ac 8e c5 c6 c7 |.!.....!|!.......|
|000026e0| 21 21 89 1e 08 ae 82 c9 | 43 14 29 ca cb 8d ae 90 |!!......|C.).....|
|000026f0| 0c cc 9a ab 87 cd ce c3 | 09 21 5c 22 87 cd cf 09 |........|.!\"....|
|00002700| 5c 22 87 22 20 5b 66 69 | 6c 65 2d 6e 61 6d 65 2d |\"." [fi|le-name-|
|00002710| 61 62 73 6f 6c 75 74 65 | 2d 70 20 64 69 72 20 63 |absolute|-p dir c|
|00002720| 64 2d 61 62 73 6f 6c 75 | 74 65 20 65 78 70 61 6e |d-absolu|te expan|
|00002730| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 20 63 64 2d 70 |d-file-n|ame cd-p|
|00002740| 61 74 68 20 70 61 72 73 | 65 2d 63 6f 6c 6f 6e 2d |ath pars|e-colon-|
|00002750| 70 61 74 68 20 67 65 74 | 65 6e 76 20 22 43 44 50 |path get|env "CDP|
|00002760| 41 54 48 22 20 74 72 79 | 70 61 74 68 20 22 2e 2f |ATH" try|path "./|
|00002770| 22 20 66 6f 75 6e 64 20 | 28 62 79 74 65 2d 63 6f |" found |(byte-co|
|00002780| 64 65 20 22 c0 c1 5c 6e | 5c 22 88 c3 87 22 20 5b |de "..\n|\"..." [|
|00002790| 6d 61 70 63 61 72 20 23 | 5b 28 78 29 20 22 c0 09 |mapcar #|[(x) "..|
|000027a0| 5c 6e 50 21 1b c4 0b 21 | ad 88 c5 0b 21 88 c6 c7 |\nP!...!|....!...|
|000027b0| c8 5c 22 29 87 22 20 5b | 65 78 70 61 6e 64 2d 66 |.\")." [|expand-f|
|000027c0| 69 6c 65 2d 6e 61 6d 65 | 20 78 20 64 69 72 20 66 |ile-name| x dir f|
|000027d0| 20 66 69 6c 65 2d 64 69 | 72 65 63 74 6f 72 79 2d | file-di|rectory-|
|000027e0| 70 20 63 64 2d 61 62 73 | 6f 6c 75 74 65 20 74 68 |p cd-abs|olute th|
|000027f0| 72 6f 77 20 66 6f 75 6e | 64 20 74 5d 20 33 5d 20 |row foun|d t] 3] |
|00002800| 63 64 2d 70 61 74 68 20 | 6e 69 6c 5d 20 33 29 20 |cd-path |nil] 3) |
|00002810| 28 22 2e 2f 22 29 20 65 | 72 72 6f 72 20 22 4e 6f |("./") e|rror "No|
|00002820| 20 73 75 63 68 20 64 69 | 72 65 63 74 6f 72 79 3a | such di|rectory:|
|00002830| 20 25 73 22 20 22 44 69 | 72 65 63 74 6f 72 79 20 | %s" "Di|rectory |
|00002840| 6e 6f 74 20 66 6f 75 6e | 64 20 69 6e 20 24 43 44 |not foun|d in $CD|
|00002850| 50 41 54 48 3a 20 25 73 | 22 5d 20 35 20 22 5c 0a |PATH: %s|"] 5 "\.|
|00002860| 4d 61 6b 65 20 44 49 52 | 20 62 65 63 6f 6d 65 20 |Make DIR| become |
|00002870| 74 68 65 20 63 75 72 72 | 65 6e 74 20 62 75 66 66 |the curr|ent buff|
|00002880| 65 72 27 73 20 64 65 66 | 61 75 6c 74 20 64 69 72 |er's def|ault dir|
|00002890| 65 63 74 6f 72 79 2e 0a | 49 66 20 79 6f 75 72 20 |ectory..|If your |
|000028a0| 65 6e 76 69 72 6f 6e 6d | 65 6e 74 20 69 6e 63 6c |environm|ent incl|
|000028b0| 75 64 65 73 20 61 20 60 | 43 44 50 41 54 48 27 20 |udes a `|CDPATH' |
|000028c0| 76 61 72 69 61 62 6c 65 | 2c 20 74 72 79 20 65 61 |variable|, try ea|
|000028d0| 63 68 20 6f 6e 65 20 6f | 66 20 74 68 61 74 0a 63 |ch one o|f that.c|
|000028e0| 6f 6c 6f 6e 2d 73 65 70 | 61 72 61 74 65 64 20 6c |olon-sep|arated l|
|000028f0| 69 73 74 20 6f 66 20 64 | 69 72 65 63 74 6f 72 69 |ist of d|irectori|
|00002900| 65 73 20 77 68 65 6e 20 | 72 65 73 6f 6c 76 69 6e |es when |resolvin|
|00002910| 67 20 61 20 72 65 6c 61 | 74 69 76 65 20 64 69 72 |g a rela|tive dir|
|00002920| 65 63 74 6f 72 79 20 6e | 61 6d 65 2e 22 20 22 44 |ectory n|ame." "D|
|00002930| 43 68 61 6e 67 65 20 64 | 65 66 61 75 6c 74 20 64 |Change d|efault d|
|00002940| 69 72 65 63 74 6f 72 79 | 3a 20 22 5d 29 0a 28 66 |irectory|: "]).(f|
|00002950| 73 65 74 20 27 6c 6f 61 | 64 2d 66 69 6c 65 20 23 |set 'loa|d-file #|
|00002960| 5b 28 66 69 6c 65 29 20 | 22 c0 c1 5c 6e 21 c3 89 |[(file) |"..\n!..|
|00002970| c4 24 87 22 20 5b 6c 6f | 61 64 20 65 78 70 61 6e |.$." [lo|ad expan|
|00002980| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 20 66 69 6c 65 |d-file-n|ame file|
|00002990| 20 6e 69 6c 20 74 5d 20 | 35 20 22 5c 0a 4c 6f 61 | nil t] |5 "\.Loa|
|000029a0| 64 20 74 68 65 20 4c 69 | 73 70 20 66 69 6c 65 20 |d the Li|sp file |
|000029b0| 6e 61 6d 65 64 20 46 49 | 4c 45 2e 22 20 22 66 4c |named FI|LE." "fL|
|000029c0| 6f 61 64 20 66 69 6c 65 | 3a 20 22 5d 29 0a 28 66 |oad file|: "]).(f|
|000029d0| 73 65 74 20 27 6c 6f 61 | 64 2d 6c 69 62 72 61 72 |set 'loa|d-librar|
|000029e0| 79 20 23 5b 28 6c 69 62 | 72 61 72 79 29 20 22 c0 |y #[(lib|rary) ".|
|000029f0| 09 21 87 22 20 5b 6c 6f | 61 64 20 6c 69 62 72 61 |.!." [lo|ad libra|
|00002a00| 72 79 5d 20 32 20 22 5c | 0a 4c 6f 61 64 20 74 68 |ry] 2 "\|.Load th|
|00002a10| 65 20 6c 69 62 72 61 72 | 79 20 6e 61 6d 65 64 20 |e librar|y named |
|00002a20| 4c 49 42 52 41 52 59 2e | 0a 54 68 69 73 20 69 73 |LIBRARY.|.This is|
|00002a30| 20 61 6e 20 69 6e 74 65 | 72 66 61 63 65 20 74 6f | an inte|rface to|
|00002a40| 20 74 68 65 20 66 75 6e | 63 74 69 6f 6e 20 60 6c | the fun|ction `l|
|00002a50| 6f 61 64 27 2e 22 20 22 | 73 4c 6f 61 64 20 6c 69 |oad'." "|sLoad li|
|00002a60| 62 72 61 72 79 3a 20 22 | 5d 29 0a 28 66 73 65 74 |brary: "|]).(fset|
|00002a70| 20 27 66 69 6e 64 2d 6c | 69 62 72 61 72 79 20 23 | 'find-l|ibrary #|
|00002a80| 5b 28 6c 69 62 72 61 72 | 79 29 20 22 c0 09 5c 6e |[(librar|y) "..\n|
|00002a90| c3 23 89 1c ab 85 c5 0c | 21 aa 84 c6 c7 09 5c 22 |.#......|!.....\"|
|00002aa0| 29 87 22 20 5b 6c 6f 63 | 61 74 65 2d 66 69 6c 65 |)." [loc|ate-file|
|00002ab0| 20 6c 69 62 72 61 72 79 | 20 6c 6f 61 64 2d 70 61 | library| load-pa|
|00002ac0| 74 68 20 22 3a 2e 65 6c | 3a 22 20 66 20 66 69 6e |th ":.el|:" f fin|
|00002ad0| 64 2d 66 69 6c 65 20 65 | 72 72 6f 72 20 22 43 6f |d-file e|rror "Co|
|00002ae0| 75 6c 64 6e 27 74 20 6c | 6f 63 61 74 65 20 6c 69 |uldn't l|ocate li|
|00002af0| 62 72 61 72 79 20 25 73 | 22 5d 20 35 20 22 5c 0a |brary %s|"] 5 "\.|
|00002b00| 46 69 6e 64 20 74 68 65 | 20 6c 69 62 72 61 72 79 |Find the| library|
|00002b10| 20 6f 66 20 4c 69 73 70 | 20 63 6f 64 65 20 6e 61 | of Lisp| code na|
|00002b20| 6d 65 64 20 4c 49 42 52 | 41 52 59 2e 0a 54 68 69 |med LIBR|ARY..Thi|
|00002b30| 73 20 73 65 61 72 63 68 | 65 73 20 60 6c 6f 61 64 |s search|es `load|
|00002b40| 2d 70 61 74 68 27 20 66 | 6f 72 20 61 20 66 69 6c |-path' f|or a fil|
|00002b50| 65 20 6e 61 6d 65 64 20 | 65 69 74 68 65 72 20 5c |e named |either \|
|00002b60| 22 4c 49 42 52 41 52 59 | 5c 22 20 6f 72 20 5c 22 |"LIBRARY|\" or \"|
|00002b70| 4c 49 42 52 41 52 59 2e | 65 6c 5c 22 2e 22 20 22 |LIBRARY.|el\"." "|
|00002b80| 73 46 69 6e 64 20 6c 69 | 62 72 61 72 79 20 66 69 |sFind li|brary fi|
|00002b90| 6c 65 3a 20 22 5d 29 0a | 28 66 73 65 74 20 27 66 |le: "]).|(fset 'f|
|00002ba0| 69 6c 65 2d 6c 6f 63 61 | 6c 2d 63 6f 70 79 20 23 |ile-loca|l-copy #|
|00002bb0| 5b 28 66 69 6c 65 20 26 | 6f 70 74 69 6f 6e 61 6c |[(file &|optional|
|00002bc0| 20 62 75 66 66 65 72 29 | 20 22 c0 09 c2 5c 22 89 | buffer)| "...\".|
|00002bd0| 1b ad 84 0b c2 09 5c 22 | 29 87 22 20 5b 66 69 6e |......\"|)." [fin|
|00002be0| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 2d 68 61 6e 64 |d-file-n|ame-hand|
|00002bf0| 6c 65 72 20 66 69 6c 65 | 20 66 69 6c 65 2d 6c 6f |ler file| file-lo|
|00002c00| 63 61 6c 2d 63 6f 70 79 | 20 68 61 6e 64 6c 65 72 |cal-copy| handler|
|00002c10| 5d 20 34 20 22 5c 0a 43 | 6f 70 79 20 74 68 65 20 |] 4 "\.C|opy the |
|00002c20| 66 69 6c 65 20 46 49 4c | 45 20 69 6e 74 6f 20 61 |file FIL|E into a|
|00002c30| 20 74 65 6d 70 6f 72 61 | 72 79 20 66 69 6c 65 20 | tempora|ry file |
|00002c40| 6f 6e 20 74 68 69 73 20 | 6d 61 63 68 69 6e 65 2e |on this |machine.|
|00002c50| 0a 52 65 74 75 72 6e 73 | 20 74 68 65 20 6e 61 6d |.Returns| the nam|
|00002c60| 65 20 6f 66 20 74 68 65 | 20 6c 6f 63 61 6c 20 63 |e of the| local c|
|00002c70| 6f 70 79 2c 20 6f 72 20 | 6e 69 6c 2c 20 69 66 20 |opy, or |nil, if |
|00002c80| 46 49 4c 45 20 69 73 20 | 64 69 72 65 63 74 6c 79 |FILE is |directly|
|00002c90| 0a 61 63 63 65 73 73 69 | 62 6c 65 2e 22 5d 29 0a |.accessi|ble."]).|
|00002ca0| 28 66 73 65 74 20 27 66 | 69 6c 65 2d 63 68 61 73 |(fset 'f|ile-chas|
|00002cb0| 65 2d 6c 69 6e 6b 73 20 | 23 5b 28 66 69 6c 65 6e |e-links |#[(filen|
|00002cc0| 61 6d 65 29 20 22 c0 c1 | 5c 6e 1b 1c 1d c6 0b 21 |ame) "..|\n.....!|
|00002cd0| 89 15 ab c6 0c c7 55 ab | 85 c8 c9 5c 6e 5c 22 88 |......U.|...\n\".|
|00002ce0| ca cb 0d 5c 22 ab 8f 0d | c7 89 94 54 4f 0d c7 95 |...\"...|...TO...|
|00002cf0| c0 4f 50 15 aa 6b ca cc | 0d 5c 22 ab 95 0d cd c0 |.OP..k..|.\".....|
|00002d00| 4f 15 ce cf d0 d1 cf d0 | 0b 21 21 21 21 21 21 13 |O.......|.!!!!!!.|
|00002d10| aa 65 d2 0d d0 0b 21 5c | 22 13 0c 53 14 aa 33 0b |.e....!\|"..S..3.|
|00002d20| 2b 87 22 20 5b 6e 69 6c | 20 31 30 30 20 66 69 6c |+." [nil| 100 fil|
|00002d30| 65 6e 61 6d 65 20 6e 65 | 77 6e 61 6d 65 20 63 6f |ename ne|wname co|
|00002d40| 75 6e 74 20 74 65 6d 20 | 66 69 6c 65 2d 73 79 6d |unt tem |file-sym|
|00002d50| 6c 69 6e 6b 2d 70 20 30 | 20 65 72 72 6f 72 20 22 |link-p 0| error "|
|00002d60| 41 70 70 61 72 65 6e 74 | 20 63 79 63 6c 65 20 6f |Apparent| cycle o|
|00002d70| 66 20 73 79 6d 62 6f 6c | 69 63 20 6c 69 6e 6b 73 |f symbol|ic links|
|00002d80| 20 66 6f 72 20 25 73 22 | 20 73 74 72 69 6e 67 2d | for %s"| string-|
|00002d90| 6d 61 74 63 68 20 22 2f | 2f 2b 22 20 22 5c 5c 60 |match "/|/+" "\\`|
|00002da0| 5c 5c 2e 5c 5c 2e 2f 22 | 20 33 20 66 69 6c 65 2d |\\.\\./"| 3 file-|
|00002db0| 6e 61 6d 65 2d 61 73 2d | 64 69 72 65 63 74 6f 72 |name-as-|director|
|00002dc0| 79 20 64 69 72 65 63 74 | 6f 72 79 2d 66 69 6c 65 |y direct|ory-file|
|00002dd0| 2d 6e 61 6d 65 20 66 69 | 6c 65 2d 6e 61 6d 65 2d |-name fi|le-name-|
|00002de0| 64 69 72 65 63 74 6f 72 | 79 20 66 69 6c 65 2d 63 |director|y file-c|
|00002df0| 68 61 73 65 2d 6c 69 6e | 6b 73 20 65 78 70 61 6e |hase-lin|ks expan|
|00002e00| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 5d 20 37 20 22 |d-file-n|ame] 7 "|
|00002e10| 5c 0a 43 68 61 73 65 20 | 6c 69 6e 6b 73 20 69 6e |\.Chase |links in|
|00002e20| 20 46 49 4c 45 4e 41 4d | 45 20 75 6e 74 69 6c 20 | FILENAM|E until |
|00002e30| 61 20 6e 61 6d 65 20 74 | 68 61 74 20 69 73 20 6e |a name t|hat is n|
|00002e40| 6f 74 20 61 20 6c 69 6e | 6b 2e 0a 44 6f 65 73 20 |ot a lin|k..Does |
|00002e50| 6e 6f 74 20 65 78 61 6d | 69 6e 65 20 63 6f 6e 74 |not exam|ine cont|
|00002e60| 61 69 6e 69 6e 67 20 64 | 69 72 65 63 74 6f 72 69 |aining d|irectori|
|00002e70| 65 73 20 66 6f 72 20 6c | 69 6e 6b 73 2c 0a 75 6e |es for l|inks,.un|
|00002e80| 6c 69 6b 65 20 60 66 69 | 6c 65 2d 74 72 75 65 6e |like `fi|le-truen|
|00002e90| 61 6d 65 27 2e 22 5d 29 | 0a 28 66 73 65 74 20 27 |ame'."])|.(fset '|
|00002ea0| 73 77 69 74 63 68 2d 74 | 6f 2d 6f 74 68 65 72 2d |switch-t|o-other-|
|00002eb0| 62 75 66 66 65 72 20 23 | 5b 28 61 72 67 29 20 22 |buffer #|[(arg) "|
|00002ec0| 08 c1 3d ab 84 c2 70 21 | 88 c3 08 c4 58 ab 85 c5 |..=...p!|....X...|
|00002ed0| 70 21 aa 85 08 54 c6 20 | 38 21 87 22 20 5b 61 72 |p!...T. |8!." [ar|
|00002ee0| 67 20 30 20 62 75 72 79 | 2d 62 75 66 66 65 72 20 |g 0 bury|-buffer |
|00002ef0| 73 77 69 74 63 68 2d 74 | 6f 2d 62 75 66 66 65 72 |switch-t|o-buffer|
|00002f00| 20 31 20 6f 74 68 65 72 | 2d 62 75 66 66 65 72 20 | 1 other|-buffer |
|00002f10| 62 75 66 66 65 72 2d 6c | 69 73 74 5d 20 33 20 22 |buffer-l|ist] 3 "|
|00002f20| 5c 0a 53 77 69 74 63 68 | 20 74 6f 20 74 68 65 20 |\.Switch| to the |
|00002f30| 70 72 65 76 69 6f 75 73 | 20 62 75 66 66 65 72 2e |previous| buffer.|
|00002f40| 20 20 57 69 74 68 20 61 | 20 6e 75 6d 65 72 69 63 | With a| numeric|
|00002f50| 20 61 72 67 2c 20 6e 2c | 20 73 77 69 74 63 68 20 | arg, n,| switch |
|00002f60| 74 6f 20 74 68 65 20 6e | 74 68 0a 6d 6f 73 74 20 |to the n|th.most |
|00002f70| 72 65 63 65 6e 74 20 62 | 75 66 66 65 72 2e 20 20 |recent b|uffer. |
|00002f80| 57 69 74 68 20 61 6e 20 | 61 72 67 20 6f 66 20 30 |With an |arg of 0|
|00002f90| 2c 20 62 75 72 69 65 73 | 20 74 68 65 20 63 75 72 |, buries| the cur|
|00002fa0| 72 65 6e 74 20 62 75 66 | 66 65 72 20 61 74 20 74 |rent buf|fer at t|
|00002fb0| 68 65 0a 62 6f 74 74 6f | 6d 20 6f 66 20 74 68 65 |he.botto|m of the|
|00002fc0| 20 62 75 66 66 65 72 20 | 73 74 61 63 6b 2e 22 20 | buffer |stack." |
|00002fd0| 22 70 22 5d 29 0a 28 66 | 73 65 74 20 27 73 77 69 |"p"]).(f|set 'swi|
|00002fe0| 74 63 68 2d 74 6f 2d 62 | 75 66 66 65 72 2d 6f 74 |tch-to-b|uffer-ot|
|00002ff0| 68 65 72 2d 77 69 6e 64 | 6f 77 20 23 5b 28 62 75 |her-wind|ow #[(bu|
|00003000| 66 66 65 72 29 20 22 c0 | 19 c2 0b c0 5c 22 29 87 |ffer) ".|....\").|
|00003010| 22 20 5b 74 20 70 6f 70 | 2d 75 70 2d 77 69 6e 64 |" [t pop|-up-wind|
|00003020| 6f 77 73 20 70 6f 70 2d | 74 6f 2d 62 75 66 66 65 |ows pop-|to-buffe|
|00003030| 72 20 62 75 66 66 65 72 | 5d 20 33 20 22 5c 0a 53 |r buffer|] 3 "\.S|
|00003040| 65 6c 65 63 74 20 62 75 | 66 66 65 72 20 42 55 46 |elect bu|ffer BUF|
|00003050| 46 45 52 20 69 6e 20 61 | 6e 6f 74 68 65 72 20 77 |FER in a|nother w|
|00003060| 69 6e 64 6f 77 2e 22 20 | 22 42 53 77 69 74 63 68 |indow." |"BSwitch|
|00003070| 20 74 6f 20 62 75 66 66 | 65 72 20 69 6e 20 6f 74 | to buff|er in ot|
|00003080| 68 65 72 20 77 69 6e 64 | 6f 77 3a 20 22 5d 29 0a |her wind|ow: "]).|
|00003090| 28 66 73 65 74 20 27 73 | 77 69 74 63 68 2d 74 6f |(fset 's|witch-to|
|000030a0| 2d 62 75 66 66 65 72 2d | 6f 74 68 65 72 2d 66 72 |-buffer-|other-fr|
|000030b0| 61 6d 65 20 23 5b 28 62 | 75 66 66 65 72 29 20 22 |ame #[(b|uffer) "|
|000030c0| c0 09 21 1a c3 5c 6e ad | 86 c2 c4 5c 6e 21 42 43 |..!..\n.|...\n!BC|
|000030d0| 21 1d c6 09 c7 0d 23 88 | c8 0d 21 88 09 2a 87 22 |!.....#.|..!..*."|
|000030e0| 20 5b 67 65 74 2d 66 72 | 61 6d 65 2d 6e 61 6d 65 | [get-fr|ame-name|
|000030f0| 2d 66 6f 72 2d 62 75 66 | 66 65 72 20 62 75 66 66 |-for-buf|fer buff|
|00003100| 65 72 20 6e 61 6d 65 20 | 6d 61 6b 65 2d 66 72 61 |er name |make-fra|
|00003110| 6d 65 20 73 79 6d 62 6f | 6c 2d 6e 61 6d 65 20 66 |me symbo|l-name f|
|00003120| 72 61 6d 65 20 70 6f 70 | 2d 74 6f 2d 62 75 66 66 |rame pop|-to-buff|
|00003130| 65 72 20 74 20 6d 61 6b | 65 2d 66 72 61 6d 65 2d |er t mak|e-frame-|
|00003140| 76 69 73 69 62 6c 65 5d | 20 34 20 22 5c 0a 53 77 |visible]| 4 "\.Sw|
|00003150| 69 74 63 68 20 74 6f 20 | 62 75 66 66 65 72 20 42 |itch to |buffer B|
|00003160| 55 46 46 45 52 20 69 6e | 20 61 20 6e 65 77 6c 79 |UFFER in| a newly|
|00003170| 2d 63 72 65 61 74 65 64 | 20 66 72 61 6d 65 2e 22 |-created| frame."|
|00003180| 20 22 42 53 77 69 74 63 | 68 20 74 6f 20 62 75 66 | "BSwitc|h to buf|
|00003190| 66 65 72 20 69 6e 20 6f | 74 68 65 72 20 66 72 61 |fer in o|ther fra|
|000031a0| 6d 65 3a 20 22 5d 29 0a | 28 66 73 65 74 20 27 66 |me: "]).|(fset 'f|
|000031b0| 69 6e 64 2d 66 69 6c 65 | 20 23 5b 28 66 69 6c 65 |ind-file| #[(file|
|000031c0| 6e 61 6d 65 29 20 22 c0 | c1 5c 6e 21 21 87 22 20 |name) ".|.\n!!." |
|000031d0| 5b 73 77 69 74 63 68 2d | 74 6f 2d 62 75 66 66 65 |[switch-|to-buffe|
|000031e0| 72 20 66 69 6e 64 2d 66 | 69 6c 65 2d 6e 6f 73 65 |r find-f|ile-nose|
|000031f0| 6c 65 63 74 20 66 69 6c | 65 6e 61 6d 65 5d 20 33 |lect fil|ename] 3|
|00003200| 20 22 5c 0a 45 64 69 74 | 20 66 69 6c 65 20 46 49 | "\.Edit| file FI|
|00003210| 4c 45 4e 41 4d 45 2e 0a | 53 77 69 74 63 68 20 74 |LENAME..|Switch t|
|00003220| 6f 20 61 20 62 75 66 66 | 65 72 20 76 69 73 69 74 |o a buff|er visit|
|00003230| 69 6e 67 20 66 69 6c 65 | 20 46 49 4c 45 4e 41 4d |ing file| FILENAM|
|00003240| 45 2c 0a 63 72 65 61 74 | 69 6e 67 20 6f 6e 65 20 |E,.creat|ing one |
|00003250| 69 66 20 6e 6f 6e 65 20 | 61 6c 72 65 61 64 79 20 |if none |already |
|00003260| 65 78 69 73 74 73 2e 22 | 20 22 46 46 69 6e 64 20 |exists."| "FFind |
|00003270| 66 69 6c 65 3a 20 22 5d | 29 0a 28 66 73 65 74 20 |file: "]|).(fset |
|00003280| 27 66 69 6e 64 2d 66 69 | 6c 65 2d 6f 74 68 65 72 |'find-fi|le-other|
|00003290| 2d 77 69 6e 64 6f 77 20 | 23 5b 28 66 69 6c 65 6e |-window |#[(filen|
|000032a0| 61 6d 65 29 20 22 c0 c1 | 5c 6e 21 21 87 22 20 5b |ame) "..|\n!!." [|
|000032b0| 73 77 69 74 63 68 2d 74 | 6f 2d 62 75 66 66 65 72 |switch-t|o-buffer|
|000032c0| 2d 6f 74 68 65 72 2d 77 | 69 6e 64 6f 77 20 66 69 |-other-w|indow fi|
|000032d0| 6e 64 2d 66 69 6c 65 2d | 6e 6f 73 65 6c 65 63 74 |nd-file-|noselect|
|000032e0| 20 66 69 6c 65 6e 61 6d | 65 5d 20 33 20 22 5c 0a | filenam|e] 3 "\.|
|000032f0| 45 64 69 74 20 66 69 6c | 65 20 46 49 4c 45 4e 41 |Edit fil|e FILENA|
|00003300| 4d 45 2c 20 69 6e 20 61 | 6e 6f 74 68 65 72 20 77 |ME, in a|nother w|
|00003310| 69 6e 64 6f 77 2e 0a 4d | 61 79 20 63 72 65 61 74 |indow..M|ay creat|
|00003320| 65 20 61 20 6e 65 77 20 | 77 69 6e 64 6f 77 2c 20 |e a new |window, |
|00003330| 6f 72 20 72 65 75 73 65 | 20 61 6e 20 65 78 69 73 |or reuse| an exis|
|00003340| 74 69 6e 67 20 6f 6e 65 | 2e 0a 53 65 65 20 74 68 |ting one|..See th|
|00003350| 65 20 66 75 6e 63 74 69 | 6f 6e 20 60 64 69 73 70 |e functi|on `disp|
|00003360| 6c 61 79 2d 62 75 66 66 | 65 72 27 2e 22 20 22 46 |lay-buff|er'." "F|
|00003370| 46 69 6e 64 20 66 69 6c | 65 20 69 6e 20 6f 74 68 |Find fil|e in oth|
|00003380| 65 72 20 77 69 6e 64 6f | 77 3a 20 22 5d 29 0a 28 |er windo|w: "]).(|
|00003390| 66 73 65 74 20 27 66 69 | 6e 64 2d 66 69 6c 65 2d |fset 'fi|nd-file-|
|000033a0| 6f 74 68 65 72 2d 66 72 | 61 6d 65 20 23 5b 28 66 |other-fr|ame #[(f|
|000033b0| 69 6c 65 6e 61 6d 65 29 | 20 22 c0 c1 5c 6e 21 21 |ilename)| "..\n!!|
|000033c0| 87 22 20 5b 73 77 69 74 | 63 68 2d 74 6f 2d 62 75 |." [swit|ch-to-bu|
|000033d0| 66 66 65 72 2d 6f 74 68 | 65 72 2d 66 72 61 6d 65 |ffer-oth|er-frame|
|000033e0| 20 66 69 6e 64 2d 66 69 | 6c 65 2d 6e 6f 73 65 6c | find-fi|le-nosel|
|000033f0| 65 63 74 20 66 69 6c 65 | 6e 61 6d 65 5d 20 33 20 |ect file|name] 3 |
|00003400| 22 5c 0a 45 64 69 74 20 | 66 69 6c 65 20 46 49 4c |"\.Edit |file FIL|
|00003410| 45 4e 41 4d 45 2c 20 69 | 6e 20 61 20 6e 65 77 6c |ENAME, i|n a newl|
|00003420| 79 2d 63 72 65 61 74 65 | 64 20 66 72 61 6d 65 2e |y-create|d frame.|
|00003430| 22 20 22 46 46 69 6e 64 | 20 66 69 6c 65 20 69 6e |" "FFind| file in|
|00003440| 20 6f 74 68 65 72 20 66 | 72 61 6d 65 3a 20 22 5d | other f|rame: "]|
|00003450| 29 0a 28 66 73 65 74 20 | 27 66 69 6e 64 2d 66 69 |).(fset |'find-fi|
|00003460| 6c 65 2d 72 65 61 64 2d | 6f 6e 6c 79 20 23 5b 28 |le-read-|only #[(|
|00003470| 66 69 6c 65 6e 61 6d 65 | 29 20 22 c0 09 21 88 c2 |filename|) "..!..|
|00003480| 13 70 87 22 20 5b 66 69 | 6e 64 2d 66 69 6c 65 20 |.p." [fi|nd-file |
|00003490| 66 69 6c 65 6e 61 6d 65 | 20 74 20 62 75 66 66 65 |filename| t buffe|
|000034a0| 72 2d 72 65 61 64 2d 6f | 6e 6c 79 5d 20 32 20 22 |r-read-o|nly] 2 "|
|000034b0| 5c 0a 45 64 69 74 20 66 | 69 6c 65 20 46 49 4c 45 |\.Edit f|ile FILE|
|000034c0| 4e 41 4d 45 20 62 75 74 | 20 64 6f 6e 27 74 20 61 |NAME but| don't a|
|000034d0| 6c 6c 6f 77 20 63 68 61 | 6e 67 65 73 2e 0a 4c 69 |llow cha|nges..Li|
|000034e0| 6b 65 20 5c 5c 5b 66 69 | 6e 64 2d 66 69 6c 65 5d |ke \\[fi|nd-file]|
|000034f0| 20 62 75 74 20 6d 61 72 | 6b 73 20 62 75 66 66 65 | but mar|ks buffe|
|00003500| 72 20 61 73 20 72 65 61 | 64 2d 6f 6e 6c 79 2e 0a |r as rea|d-only..|
|00003510| 55 73 65 20 5c 5c 5b 74 | 6f 67 67 6c 65 2d 72 65 |Use \\[t|oggle-re|
|00003520| 61 64 2d 6f 6e 6c 79 5d | 20 74 6f 20 70 65 72 6d |ad-only]| to perm|
|00003530| 69 74 20 65 64 69 74 69 | 6e 67 2e 22 20 22 66 46 |it editi|ng." "fF|
|00003540| 69 6e 64 20 66 69 6c 65 | 20 72 65 61 64 2d 6f 6e |ind file| read-on|
|00003550| 6c 79 3a 20 22 5d 29 0a | 28 66 73 65 74 20 27 66 |ly: "]).|(fset 'f|
|00003560| 69 6e 64 2d 66 69 6c 65 | 2d 72 65 61 64 2d 6f 6e |ind-file|-read-on|
|00003570| 6c 79 2d 6f 74 68 65 72 | 2d 77 69 6e 64 6f 77 20 |ly-other|-window |
|00003580| 23 5b 28 66 69 6c 65 6e | 61 6d 65 29 20 22 c0 09 |#[(filen|ame) "..|
|00003590| 21 88 c2 13 70 87 22 20 | 5b 66 69 6e 64 2d 66 69 |!...p." |[find-fi|
|000035a0| 6c 65 2d 6f 74 68 65 72 | 2d 77 69 6e 64 6f 77 20 |le-other|-window |
|000035b0| 66 69 6c 65 6e 61 6d 65 | 20 74 20 62 75 66 66 65 |filename| t buffe|
|000035c0| 72 2d 72 65 61 64 2d 6f | 6e 6c 79 5d 20 32 20 22 |r-read-o|nly] 2 "|
|000035d0| 5c 0a 45 64 69 74 20 66 | 69 6c 65 20 46 49 4c 45 |\.Edit f|ile FILE|
|000035e0| 4e 41 4d 45 20 69 6e 20 | 61 6e 6f 74 68 65 72 20 |NAME in |another |
|000035f0| 77 69 6e 64 6f 77 20 62 | 75 74 20 64 6f 6e 27 74 |window b|ut don't|
|00003600| 20 61 6c 6c 6f 77 20 63 | 68 61 6e 67 65 73 2e 0a | allow c|hanges..|
|00003610| 4c 69 6b 65 20 5c 5c 5b | 66 69 6e 64 2d 66 69 6c |Like \\[|find-fil|
|00003620| 65 2d 6f 74 68 65 72 2d | 77 69 6e 64 6f 77 5d 20 |e-other-|window] |
|00003630| 62 75 74 20 6d 61 72 6b | 73 20 62 75 66 66 65 72 |but mark|s buffer|
|00003640| 20 61 73 20 72 65 61 64 | 2d 6f 6e 6c 79 2e 0a 55 | as read|-only..U|
|00003650| 73 65 20 5c 5c 5b 74 6f | 67 67 6c 65 2d 72 65 61 |se \\[to|ggle-rea|
|00003660| 64 2d 6f 6e 6c 79 5d 20 | 74 6f 20 70 65 72 6d 69 |d-only] |to permi|
|00003670| 74 20 65 64 69 74 69 6e | 67 2e 22 20 22 66 46 69 |t editin|g." "fFi|
|00003680| 6e 64 20 66 69 6c 65 20 | 72 65 61 64 2d 6f 6e 6c |nd file |read-onl|
|00003690| 79 20 6f 74 68 65 72 20 | 77 69 6e 64 6f 77 3a 20 |y other |window: |
|000036a0| 22 5d 29 0a 28 66 73 65 | 74 20 27 66 69 6e 64 2d |"]).(fse|t 'find-|
|000036b0| 66 69 6c 65 2d 72 65 61 | 64 2d 6f 6e 6c 79 2d 6f |file-rea|d-only-o|
|000036c0| 74 68 65 72 2d 66 72 61 | 6d 65 20 23 5b 28 66 69 |ther-fra|me #[(fi|
|000036d0| 6c 65 6e 61 6d 65 29 20 | 22 c0 09 21 88 c2 13 70 |lename) |"..!...p|
|000036e0| 87 22 20 5b 66 69 6e 64 | 2d 66 69 6c 65 2d 6f 74 |." [find|-file-ot|
|000036f0| 68 65 72 2d 66 72 61 6d | 65 20 66 69 6c 65 6e 61 |her-fram|e filena|
|00003700| 6d 65 20 74 20 62 75 66 | 66 65 72 2d 72 65 61 64 |me t buf|fer-read|
|00003710| 2d 6f 6e 6c 79 5d 20 32 | 20 22 5c 0a 45 64 69 74 |-only] 2| "\.Edit|
|00003720| 20 66 69 6c 65 20 46 49 | 4c 45 4e 41 4d 45 20 69 | file FI|LENAME i|
|00003730| 6e 20 61 6e 6f 74 68 65 | 72 20 66 72 61 6d 65 20 |n anothe|r frame |
|00003740| 62 75 74 20 64 6f 6e 27 | 74 20 61 6c 6c 6f 77 20 |but don'|t allow |
|00003750| 63 68 61 6e 67 65 73 2e | 0a 4c 69 6b 65 20 5c 5c |changes.|.Like \\|
|00003760| 5b 66 69 6e 64 2d 66 69 | 6c 65 2d 6f 74 68 65 72 |[find-fi|le-other|
|00003770| 2d 66 72 61 6d 65 5d 20 | 62 75 74 20 6d 61 72 6b |-frame] |but mark|
|00003780| 73 20 62 75 66 66 65 72 | 20 61 73 20 72 65 61 64 |s buffer| as read|
|00003790| 2d 6f 6e 6c 79 2e 0a 55 | 73 65 20 5c 5c 5b 74 6f |-only..U|se \\[to|
|000037a0| 67 67 6c 65 2d 72 65 61 | 64 2d 6f 6e 6c 79 5d 20 |ggle-rea|d-only] |
|000037b0| 74 6f 20 70 65 72 6d 69 | 74 20 65 64 69 74 69 6e |to permi|t editin|
|000037c0| 67 2e 22 20 22 66 46 69 | 6e 64 20 66 69 6c 65 20 |g." "fFi|nd file |
|000037d0| 72 65 61 64 2d 6f 6e 6c | 79 20 6f 74 68 65 72 20 |read-onl|y other |
|000037e0| 66 72 61 6d 65 3a 20 22 | 5d 29 0a 28 66 73 65 74 |frame: "|]).(fset|
|000037f0| 20 27 66 69 6e 64 2d 61 | 6c 74 65 72 6e 61 74 65 | 'find-a|lternate|
|00003800| 2d 66 69 6c 65 20 23 5b | 28 66 69 6c 65 6e 61 6d |-file #[|(filenam|
|00003810| 65 29 20 22 c0 20 ab 8d | c1 c2 c3 c4 20 5c 22 21 |e) ". ..|.... \"!|
|00003820| ac 84 c5 c6 21 88 70 0e | 07 0e 08 0e 09 c4 20 1e |....!.p.|...... .|
|00003830| 5c 6e 1e 0b 1e 0c 1e 0d | 1e 0e cf d0 21 88 d1 16 |\n......|....!...|
|00003840| 07 d1 16 08 d1 16 09 d2 | 8e d3 20 88 d4 0e 15 21 |........|.. ....!|
|00003850| 88 29 70 0e 0e 3d ae 84 | d6 0e 0e 21 2d 87 22 20 |.)p..=..|...!-." |
|00003860| 5b 62 75 66 66 65 72 2d | 6d 6f 64 69 66 69 65 64 |[buffer-|modified|
|00003870| 2d 70 20 79 65 73 2d 6f | 72 2d 6e 6f 2d 70 20 66 |-p yes-o|r-no-p f|
|00003880| 6f 72 6d 61 74 20 22 42 | 75 66 66 65 72 20 25 73 |ormat "B|uffer %s|
|00003890| 20 69 73 20 6d 6f 64 69 | 66 69 65 64 3b 20 6b 69 | is modi|fied; ki|
|000038a0| 6c 6c 20 61 6e 79 77 61 | 79 3f 20 22 20 62 75 66 |ll anywa|y? " buf|
|000038b0| 66 65 72 2d 6e 61 6d 65 | 20 65 72 72 6f 72 20 22 |fer-name| error "|
|000038c0| 41 62 6f 72 74 65 64 22 | 20 62 75 66 66 65 72 2d |Aborted"| buffer-|
|000038d0| 66 69 6c 65 2d 6e 61 6d | 65 20 62 75 66 66 65 72 |file-nam|e buffer|
|000038e0| 2d 66 69 6c 65 2d 6e 75 | 6d 62 65 72 20 62 75 66 |-file-nu|mber buf|
|000038f0| 66 65 72 2d 66 69 6c 65 | 2d 74 72 75 65 6e 61 6d |fer-file|-truenam|
|00003900| 65 20 6f 6e 61 6d 65 20 | 6f 74 72 75 65 20 6f 6e |e oname |otrue on|
|00003910| 75 6d 20 6f 66 69 6c 65 | 20 6f 62 75 66 20 72 65 |um ofile| obuf re|
|00003920| 6e 61 6d 65 2d 62 75 66 | 66 65 72 20 22 20 2a 2a |name-buf|fer " **|
|00003930| 6c 6f 73 65 2a 2a 22 20 | 6e 69 6c 20 28 28 62 79 |lose**" |nil ((by|
|00003940| 74 65 2d 63 6f 64 65 20 | 22 08 70 3d ab 8f 09 12 |te-code |".p=....|
|00003950| 0b 14 0d 16 06 c7 20 88 | c8 0e 09 21 88 c7 87 22 |...... .|...!..."|
|00003960| 20 5b 6f 62 75 66 20 6f | 66 69 6c 65 20 62 75 66 | [obuf o|file buf|
|00003970| 66 65 72 2d 66 69 6c 65 | 2d 6e 61 6d 65 20 6f 6e |fer-file|-name on|
|00003980| 75 6d 20 62 75 66 66 65 | 72 2d 66 69 6c 65 2d 6e |um buffe|r-file-n|
|00003990| 75 6d 62 65 72 20 6f 74 | 72 75 65 20 62 75 66 66 |umber ot|rue buff|
|000039a0| 65 72 2d 66 69 6c 65 2d | 74 72 75 65 6e 61 6d 65 |er-file-|truename|
|000039b0| 20 6c 6f 63 6b 2d 62 75 | 66 66 65 72 20 72 65 6e | lock-bu|ffer ren|
|000039c0| 61 6d 65 2d 62 75 66 66 | 65 72 20 6f 6e 61 6d 65 |ame-buff|er oname|
|000039d0| 5d 20 32 29 29 20 75 6e | 6c 6f 63 6b 2d 62 75 66 |] 2)) un|lock-buf|
|000039e0| 66 65 72 20 66 69 6e 64 | 2d 66 69 6c 65 20 66 69 |fer find|-file fi|
|000039f0| 6c 65 6e 61 6d 65 20 6b | 69 6c 6c 2d 62 75 66 66 |lename k|ill-buff|
|00003a00| 65 72 5d 20 35 20 22 5c | 0a 46 69 6e 64 20 66 69 |er] 5 "\|.Find fi|
|00003a10| 6c 65 20 46 49 4c 45 4e | 41 4d 45 2c 20 73 65 6c |le FILEN|AME, sel|
|00003a20| 65 63 74 20 69 74 73 20 | 62 75 66 66 65 72 2c 20 |ect its |buffer, |
|00003a30| 6b 69 6c 6c 20 70 72 65 | 76 69 6f 75 73 20 62 75 |kill pre|vious bu|
|00003a40| 66 66 65 72 2e 0a 49 66 | 20 74 68 65 20 63 75 72 |ffer..If| the cur|
|00003a50| 72 65 6e 74 20 62 75 66 | 66 65 72 20 6e 6f 77 20 |rent buf|fer now |
|00003a60| 63 6f 6e 74 61 69 6e 73 | 20 61 6e 20 65 6d 70 74 |contains| an empt|
|00003a70| 79 20 66 69 6c 65 20 74 | 68 61 74 20 79 6f 75 20 |y file t|hat you |
|00003a80| 6a 75 73 74 20 76 69 73 | 69 74 65 64 0a 28 70 72 |just vis|ited.(pr|
|00003a90| 65 73 75 6d 61 62 6c 79 | 20 62 79 20 6d 69 73 74 |esumably| by mist|
|00003aa0| 61 6b 65 29 2c 20 75 73 | 65 20 74 68 69 73 20 63 |ake), us|e this c|
|00003ab0| 6f 6d 6d 61 6e 64 20 74 | 6f 20 76 69 73 69 74 20 |ommand t|o visit |
|00003ac0| 74 68 65 20 66 69 6c 65 | 20 79 6f 75 20 72 65 61 |the file| you rea|
|00003ad0| 6c 6c 79 20 77 61 6e 74 | 2e 22 20 28 62 79 74 65 |lly want|." (byte|
|00003ae0| 2d 63 6f 64 65 20 22 08 | c1 89 1a 1b 89 1c ab 88 |-code ".|........|
|00003af0| c5 0c 21 13 c6 0c 21 12 | c7 c8 5c 6e c1 89 0b 25 |..!...!.|..\n...%|
|00003b00| 2b 43 87 22 20 5b 62 75 | 66 66 65 72 2d 66 69 6c |+C." [bu|ffer-fil|
|00003b10| 65 2d 6e 61 6d 65 20 6e | 69 6c 20 66 69 6c 65 2d |e-name n|il file-|
|00003b20| 64 69 72 20 66 69 6c 65 | 2d 6e 61 6d 65 20 66 69 |dir file|-name fi|
|00003b30| 6c 65 20 66 69 6c 65 2d | 6e 61 6d 65 2d 6e 6f 6e |le file-|name-non|
|00003b40| 64 69 72 65 63 74 6f 72 | 79 20 66 69 6c 65 2d 6e |director|y file-n|
|00003b50| 61 6d 65 2d 64 69 72 65 | 63 74 6f 72 79 20 72 65 |ame-dire|ctory re|
|00003b60| 61 64 2d 66 69 6c 65 2d | 6e 61 6d 65 20 22 46 69 |ad-file-|name "Fi|
|00003b70| 6e 64 20 61 6c 74 65 72 | 6e 61 74 65 20 66 69 6c |nd alter|nate fil|
|00003b80| 65 3a 20 22 5d 20 37 29 | 5d 29 0a 28 66 73 65 74 |e: "] 7)|]).(fset|
|00003b90| 20 27 63 72 65 61 74 65 | 2d 66 69 6c 65 2d 62 75 | 'create|-file-bu|
|00003ba0| 66 66 65 72 20 23 5b 28 | 66 69 6c 65 6e 61 6d 65 |ffer #[(|filename|
|00003bb0| 29 20 22 c0 09 21 89 1a | c3 98 ab 82 09 12 c4 5c |) "..!..|.......\|
|00003bc0| 6e 21 29 87 22 20 5b 66 | 69 6c 65 2d 6e 61 6d 65 |n!)." [f|ile-name|
|00003bd0| 2d 6e 6f 6e 64 69 72 65 | 63 74 6f 72 79 20 66 69 |-nondire|ctory fi|
|00003be0| 6c 65 6e 61 6d 65 20 6c | 61 73 74 6e 61 6d 65 20 |lename l|astname |
|00003bf0| 22 22 20 67 65 6e 65 72 | 61 74 65 2d 6e 65 77 2d |"" gener|ate-new-|
|00003c00| 62 75 66 66 65 72 5d 20 | 33 20 22 5c 0a 43 72 65 |buffer] |3 "\.Cre|
|00003c10| 61 74 65 20 61 20 73 75 | 69 74 61 62 6c 79 20 6e |ate a su|itably n|
|00003c20| 61 6d 65 64 20 62 75 66 | 66 65 72 20 66 6f 72 20 |amed buf|fer for |
|00003c30| 76 69 73 69 74 69 6e 67 | 20 46 49 4c 45 4e 41 4d |visiting| FILENAM|
|00003c40| 45 2c 20 61 6e 64 20 72 | 65 74 75 72 6e 20 69 74 |E, and r|eturn it|
|00003c50| 2e 0a 46 49 4c 45 4e 41 | 4d 45 20 28 73 61 6e 73 |..FILENA|ME (sans|
|00003c60| 20 64 69 72 65 63 74 6f | 72 79 29 20 69 73 20 75 | directo|ry) is u|
|00003c70| 73 65 64 20 75 6e 63 68 | 61 6e 67 65 64 20 69 66 |sed unch|anged if|
|00003c80| 20 74 68 61 74 20 6e 61 | 6d 65 20 69 73 20 66 72 | that na|me is fr|
|00003c90| 65 65 3b 0a 6f 74 68 65 | 72 77 69 73 65 20 61 20 |ee;.othe|rwise a |
|00003ca0| 73 74 72 69 6e 67 20 3c | 32 3e 20 6f 72 20 3c 33 |string <|2> or <3|
|00003cb0| 3e 20 6f 72 20 2e 2e 2e | 20 69 73 20 61 70 70 65 |> or ...| is appe|
|00003cc0| 6e 64 65 64 20 74 6f 20 | 67 65 74 20 61 6e 20 75 |nded to |get an u|
|00003cd0| 6e 75 73 65 64 20 6e 61 | 6d 65 2e 22 5d 29 0a 28 |nused na|me."]).(|
|00003ce0| 66 73 65 74 20 27 67 65 | 6e 65 72 61 74 65 2d 6e |fset 'ge|nerate-n|
|00003cf0| 65 77 2d 62 75 66 66 65 | 72 20 23 5b 28 6e 61 6d |ew-buffe|r #[(nam|
|00003d00| 65 29 20 22 c0 c1 5c 6e | 21 21 87 22 20 5b 67 65 |e) "..\n|!!." [ge|
|00003d10| 74 2d 62 75 66 66 65 72 | 2d 63 72 65 61 74 65 20 |t-buffer|-create |
|00003d20| 67 65 6e 65 72 61 74 65 | 2d 6e 65 77 2d 62 75 66 |generate|-new-buf|
|00003d30| 66 65 72 2d 6e 61 6d 65 | 20 6e 61 6d 65 5d 20 33 |fer-name| name] 3|
|00003d40| 20 22 5c 0a 43 72 65 61 | 74 65 20 61 6e 64 20 72 | "\.Crea|te and r|
|00003d50| 65 74 75 72 6e 20 61 20 | 62 75 66 66 65 72 20 77 |eturn a |buffer w|
|00003d60| 69 74 68 20 61 20 6e 61 | 6d 65 20 62 61 73 65 64 |ith a na|me based|
|00003d70| 20 6f 6e 20 4e 41 4d 45 | 2e 0a 43 68 6f 6f 73 65 | on NAME|..Choose|
|00003d80| 20 74 68 65 20 62 75 66 | 66 65 72 27 73 20 6e 61 | the buf|fer's na|
|00003d90| 6d 65 20 75 73 69 6e 67 | 20 60 67 65 6e 65 72 61 |me using| `genera|
|00003da0| 74 65 2d 6e 65 77 2d 62 | 75 66 66 65 72 2d 6e 61 |te-new-b|uffer-na|
|00003db0| 6d 65 27 2e 22 5d 29 0a | 28 64 65 66 76 61 72 20 |me'."]).|(defvar |
|00003dc0| 66 69 6e 64 2d 66 69 6c | 65 2d 6e 6f 74 2d 74 72 |find-fil|e-not-tr|
|00003dd0| 75 65 2d 64 69 72 6e 61 | 6d 65 2d 6c 69 73 74 20 |ue-dirna|me-list |
|00003de0| 6e 69 6c 20 22 5c 0a 2a | 4c 69 73 74 20 6f 66 20 |nil "\.*|List of |
|00003df0| 6c 6f 67 69 63 61 6c 20 | 6e 61 6d 65 73 20 66 6f |logical |names fo|
|00003e00| 72 20 77 68 69 63 68 20 | 76 69 73 69 74 69 6e 67 |r which |visiting|
|00003e10| 20 73 68 6f 75 6c 64 6e | 27 74 20 73 61 76 65 20 | shouldn|'t save |
|00003e20| 74 68 65 20 74 72 75 65 | 20 64 69 72 6e 61 6d 65 |the true| dirname|
|00003e30| 2e 0a 4f 6e 20 56 4d 53 | 2c 20 77 68 65 6e 20 79 |..On VMS|, when y|
|00003e40| 6f 75 20 76 69 73 69 74 | 20 61 20 66 69 6c 65 20 |ou visit| a file |
|00003e50| 75 73 69 6e 67 20 61 20 | 6c 6f 67 69 63 61 6c 20 |using a |logical |
|00003e60| 6e 61 6d 65 20 74 68 61 | 74 20 73 65 61 72 63 68 |name tha|t search|
|00003e70| 65 73 20 61 20 70 61 74 | 68 2c 0a 79 6f 75 20 6d |es a pat|h,.you m|
|00003e80| 61 79 20 6f 72 20 6d 61 | 79 20 6e 6f 74 20 77 61 |ay or ma|y not wa|
|00003e90| 6e 74 20 74 68 65 20 76 | 69 73 69 74 65 64 20 66 |nt the v|isited f|
|00003ea0| 69 6c 65 20 6e 61 6d 65 | 20 74 6f 20 72 65 63 6f |ile name| to reco|
|00003eb0| 72 64 20 74 68 65 20 73 | 70 65 63 69 66 69 63 0a |rd the s|pecific.|
|00003ec0| 64 69 72 65 63 74 6f 72 | 79 20 77 68 65 72 65 20 |director|y where |
|00003ed0| 74 68 65 20 66 69 6c 65 | 20 77 61 73 20 66 6f 75 |the file| was fou|
|00003ee0| 6e 64 2e 20 20 49 66 20 | 79 6f 75 20 2a 64 6f 20 |nd. If |you *do |
|00003ef0| 6e 6f 74 2a 20 77 61 6e | 74 20 74 68 61 74 2c 20 |not* wan|t that, |
|00003f00| 61 64 64 20 74 68 65 20 | 6c 6f 67 69 63 61 6c 0a |add the |logical.|
|00003f10| 6e 61 6d 65 20 74 6f 20 | 74 68 69 73 20 6c 69 73 |name to |this lis|
|00003f20| 74 20 61 73 20 61 20 73 | 74 72 69 6e 67 2e 22 29 |t as a s|tring.")|
|00003f30| 0a 28 66 73 65 74 20 27 | 66 69 6e 64 2d 66 69 6c |.(fset '|find-fil|
|00003f40| 65 2d 6e 6f 73 65 6c 65 | 63 74 20 23 5b 28 66 69 |e-nosele|ct #[(fi|
|00003f50| 6c 65 6e 61 6d 65 20 26 | 6f 70 74 69 6f 6e 61 6c |lename &|optional|
|00003f60| 20 6e 6f 77 61 72 6e 29 | 20 22 c0 c1 5c 6e 21 21 | nowarn)| "..\n!!|
|00003f70| 12 c3 5c 6e 21 ab 8c 0c | ab 84 c5 5c 6e 21 87 c6 |..\n!...|...\n!..|
|00003f80| c7 5c 6e 5c 22 87 c8 5c | 6e 21 1e 09 0e 5c 6e ad |.\n\"..\|n!...\n.|
|00003f90| 86 cb cc 0e 5c 6e 21 9b | 1e 0d ce 1e 06 0e 09 ab |....\n!.|........|
|00003fa0| a1 0e 0f ac 84 0e 10 ab | 99 0e 11 ac 95 8a 0e 09 |........|........|
|00003fb0| 71 88 0e 12 5c 6e 98 ac | 89 d3 d4 5c 6e 0e 12 0e |q...\n..|...\n...|
|00003fc0| 5c 6e 24 88 29 0e 09 ab | bf 0e 11 84 14 01 d5 0e |\n$.)...|........|
|00003fd0| 09 21 84 14 01 d6 5c 6e | 21 ac 88 c6 d7 5c 6e 5c |.!....\n|!....\n\|
|00003fe0| 22 88 82 14 01 d8 d9 da | 0e 09 21 ab 85 db dc 21 |".......|..!....!|
|00003ff0| aa 83 db dd 21 de 5c 6e | 21 5c 22 21 83 14 01 8a |....!.\n|!\"!....|
|00004000| 0e 09 71 88 df e0 89 5c | 22 88 29 82 14 01 8a cc |..q....\|".).....|
|00004010| 5c 6e 21 40 89 1e 21 3b | ad 84 c8 0e 21 21 1e 5c |\n!@..!;|....!!.\|
|00004020| 22 e3 0e 5c 22 21 ab 88 | d3 e4 e5 0e 5c 22 21 5c |"..\"!..|....\"!\|
|00004030| 22 88 2a e6 5c 6e 21 89 | 16 09 71 88 e7 20 88 e8 |".*.\n!.|..q.. ..|
|00004040| e9 ea 8f 88 0e 0d 16 2b | 0e 2c ed 3d ab a0 ce 1e |.......+|.,.=....|
|00004050| 2e ef f0 f1 5c 6e 21 5c | 22 ab 89 f1 5c 6e 21 f2 |....\n!\|"...\n!.|
|00004060| 89 94 4f 16 2e 0e 2e 0e | 33 9d 29 ac 84 0e 5c 6e |..O.....|3.)...\n|
|00004070| 16 12 0e 10 ab 86 c0 0e | 12 21 16 12 f1 0e 12 21 |........|.!.....!|
|00004080| 16 34 0e 35 0e 12 21 ac | 87 f6 f7 21 88 e0 16 37 |.4.5..!.|...!...7|
|00004090| f8 0e 06 0e 11 3f 5c 22 | 88 29 0e 09 2b 87 22 20 |.....?\"|.)..+." |
|000040a0| 5b 61 62 62 72 65 76 69 | 61 74 65 2d 66 69 6c 65 |[abbrevi|ate-file|
|000040b0| 2d 6e 61 6d 65 20 65 78 | 70 61 6e 64 2d 66 69 6c |-name ex|pand-fil|
|000040c0| 65 2d 6e 61 6d 65 20 66 | 69 6c 65 6e 61 6d 65 20 |e-name f|ilename |
|000040d0| 66 69 6c 65 2d 64 69 72 | 65 63 74 6f 72 79 2d 70 |file-dir|ectory-p|
|000040e0| 20 66 69 6e 64 2d 66 69 | 6c 65 2d 72 75 6e 2d 64 | find-fi|le-run-d|
|000040f0| 69 72 65 64 20 64 69 72 | 65 64 2d 6e 6f 73 65 6c |ired dir|ed-nosel|
|00004100| 65 63 74 20 65 72 72 6f | 72 20 22 25 73 20 69 73 |ect erro|r "%s is|
|00004110| 20 61 20 64 69 72 65 63 | 74 6f 72 79 2e 22 20 67 | a direc|tory." g|
|00004120| 65 74 2d 66 69 6c 65 2d | 62 75 66 66 65 72 20 62 |et-file-|buffer b|
|00004130| 75 66 20 62 75 66 66 65 | 72 2d 66 69 6c 65 2d 74 |uf buffe|r-file-t|
|00004140| 72 75 65 6e 61 6d 65 20 | 31 30 20 66 69 6c 65 2d |ruename |10 file-|
|00004150| 61 74 74 72 69 62 75 74 | 65 73 20 6e 75 6d 62 65 |attribut|es numbe|
|00004160| 72 20 6e 69 6c 20 66 69 | 6e 64 2d 66 69 6c 65 2d |r nil fi|nd-file-|
|00004170| 63 6f 6d 70 61 72 65 2d | 74 72 75 65 6e 61 6d 65 |compare-|truename|
|00004180| 73 20 66 69 6e 64 2d 66 | 69 6c 65 2d 75 73 65 2d |s find-f|ile-use-|
|00004190| 74 72 75 65 6e 61 6d 65 | 73 20 6e 6f 77 61 72 6e |truename|s nowarn|
|000041a0| 20 62 75 66 66 65 72 2d | 66 69 6c 65 2d 6e 61 6d | buffer-|file-nam|
|000041b0| 65 20 6d 65 73 73 61 67 | 65 20 22 25 73 20 61 6e |e messag|e "%s an|
|000041c0| 64 20 25 73 20 61 72 65 | 20 74 68 65 20 73 61 6d |d %s are| the sam|
|000041d0| 65 20 66 69 6c 65 20 28 | 25 73 29 22 20 76 65 72 |e file (|%s)" ver|
|000041e0| 69 66 79 2d 76 69 73 69 | 74 65 64 2d 66 69 6c 65 |ify-visi|ted-file|
|000041f0| 2d 6d 6f 64 74 69 6d 65 | 20 66 69 6c 65 2d 65 78 |-modtime| file-ex|
|00004200| 69 73 74 73 2d 70 20 22 | 46 69 6c 65 20 25 73 20 |ists-p "|File %s |
|00004210| 6e 6f 20 6c 6f 6e 67 65 | 72 20 65 78 69 73 74 73 |no longe|r exists|
|00004220| 21 22 20 79 65 73 2d 6f | 72 2d 6e 6f 2d 70 20 66 |!" yes-o|r-no-p f|
|00004230| 6f 72 6d 61 74 20 62 75 | 66 66 65 72 2d 6d 6f 64 |ormat bu|ffer-mod|
|00004240| 69 66 69 65 64 2d 70 20 | 67 65 74 74 65 78 74 20 |ified-p |gettext |
|00004250| 22 46 69 6c 65 20 25 73 | 20 63 68 61 6e 67 65 64 |"File %s| changed|
|00004260| 20 6f 6e 20 64 69 73 6b | 2e 20 20 44 69 73 63 61 | on disk|. Disca|
|00004270| 72 64 20 79 6f 75 72 20 | 65 64 69 74 73 3f 20 22 |rd your |edits? "|
|00004280| 20 22 46 69 6c 65 20 25 | 73 20 63 68 61 6e 67 65 | "File %|s change|
|00004290| 64 20 6f 6e 20 64 69 73 | 6b 2e 20 20 52 65 72 65 |d on dis|k. Rere|
|000042a0| 61 64 20 66 72 6f 6d 20 | 64 69 73 6b 3f 20 22 20 |ad from |disk? " |
|000042b0| 66 69 6c 65 2d 6e 61 6d | 65 2d 6e 6f 6e 64 69 72 |file-nam|e-nondir|
|000042c0| 65 63 74 6f 72 79 20 72 | 65 76 65 72 74 2d 62 75 |ectory r|evert-bu|
|000042d0| 66 66 65 72 20 74 20 6c | 69 6e 6b 2d 6e 61 6d 65 |ffer t l|ink-name|
|000042e0| 20 6c 69 6e 6b 65 64 2d | 62 75 66 20 62 75 66 66 | linked-|buf buff|
|000042f0| 65 72 70 20 22 53 79 6d | 62 6f 6c 69 63 20 6c 69 |erp "Sym|bolic li|
|00004300| 6e 6b 20 74 6f 20 66 69 | 6c 65 20 69 6e 20 62 75 |nk to fi|le in bu|
|00004310| 66 66 65 72 20 25 73 22 | 20 62 75 66 66 65 72 2d |ffer %s"| buffer-|
|00004320| 6e 61 6d 65 20 63 72 65 | 61 74 65 2d 66 69 6c 65 |name cre|ate-file|
|00004330| 2d 62 75 66 66 65 72 20 | 65 72 61 73 65 2d 62 75 |-buffer |erase-bu|
|00004340| 66 66 65 72 20 65 20 28 | 69 6e 73 65 72 74 2d 66 |ffer e (|insert-f|
|00004350| 69 6c 65 2d 63 6f 6e 74 | 65 6e 74 73 20 66 69 6c |ile-cont|ents fil|
|00004360| 65 6e 61 6d 65 20 74 29 | 20 28 28 66 69 6c 65 2d |ename t)| ((file-|
|00004370| 65 72 72 6f 72 20 28 62 | 79 74 65 2d 63 6f 64 65 |error (b|yte-code|
|00004380| 20 22 08 11 5c 6e 89 1b | ab 8f 0b 40 20 ab 84 c4 | "..\n..|...@ ...|
|00004390| 11 aa 86 0b 41 89 13 ac | 71 29 c4 87 22 20 5b 65 |....A...|q).." [e|
|000043a0| 20 65 72 72 6f 72 20 66 | 69 6e 64 2d 66 69 6c 65 | error f|ind-file|
|000043b0| 2d 6e 6f 74 2d 66 6f 75 | 6e 64 2d 68 6f 6f 6b 73 |-not-fou|nd-hooks|
|000043c0| 20 68 6f 6f 6b 73 20 6e | 69 6c 5d 20 32 29 29 29 | hooks n|il] 2)))|
|000043d0| 20 62 75 66 66 65 72 2d | 66 69 6c 65 2d 6e 75 6d | buffer-|file-num|
|000043e0| 62 65 72 20 73 79 73 74 | 65 6d 2d 74 79 70 65 20 |ber syst|em-type |
|000043f0| 76 61 78 2d 76 6d 73 20 | 6c 6f 67 69 63 61 6c 20 |vax-vms |logical |
|00004400| 73 74 72 69 6e 67 2d 6d | 61 74 63 68 20 22 3a 22 |string-m|atch ":"|
|00004410| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 64 69 72 65 63 | file-na|me-direc|
|00004420| 74 6f 72 79 20 30 20 66 | 69 6e 64 2d 66 69 6c 65 |tory 0 f|ind-file|
|00004430| 2d 6e 6f 74 2d 74 72 75 | 65 2d 64 69 72 6e 61 6d |-not-tru|e-dirnam|
|00004440| 65 2d 6c 69 73 74 20 64 | 65 66 61 75 6c 74 2d 64 |e-list d|efault-d|
|00004450| 69 72 65 63 74 6f 72 79 | 20 62 61 63 6b 75 70 2d |irectory| backup-|
|00004460| 65 6e 61 62 6c 65 2d 70 | 72 65 64 69 63 61 74 65 |enable-p|redicate|
|00004470| 20 6d 61 6b 65 2d 6c 6f | 63 61 6c 2d 76 61 72 69 | make-lo|cal-vari|
|00004480| 61 62 6c 65 20 62 61 63 | 6b 75 70 2d 69 6e 68 69 |able bac|kup-inhi|
|00004490| 62 69 74 65 64 20 61 66 | 74 65 72 2d 66 69 6e 64 |bited af|ter-find|
|000044a0| 2d 66 69 6c 65 5d 20 36 | 20 22 5c 0a 52 65 61 64 |-file] 6| "\.Read|
|000044b0| 20 66 69 6c 65 20 46 49 | 4c 45 4e 41 4d 45 20 69 | file FI|LENAME i|
|000044c0| 6e 74 6f 20 61 20 62 75 | 66 66 65 72 20 61 6e 64 |nto a bu|ffer and|
|000044d0| 20 72 65 74 75 72 6e 20 | 74 68 65 20 62 75 66 66 | return |the buff|
|000044e0| 65 72 2e 0a 49 66 20 61 | 20 62 75 66 66 65 72 20 |er..If a| buffer |
|000044f0| 65 78 69 73 74 73 20 76 | 69 73 69 74 69 6e 67 20 |exists v|isiting |
|00004500| 46 49 4c 45 4e 41 4d 45 | 2c 20 72 65 74 75 72 6e |FILENAME|, return|
|00004510| 20 74 68 61 74 20 6f 6e | 65 2c 20 62 75 74 0a 76 | that on|e, but.v|
|00004520| 65 72 69 66 79 20 74 68 | 61 74 20 74 68 65 20 66 |erify th|at the f|
|00004530| 69 6c 65 20 68 61 73 20 | 6e 6f 74 20 63 68 61 6e |ile has |not chan|
|00004540| 67 65 64 20 73 69 6e 63 | 65 20 76 69 73 69 74 65 |ged sinc|e visite|
|00004550| 64 20 6f 72 20 73 61 76 | 65 64 2e 0a 54 68 65 20 |d or sav|ed..The |
|00004560| 62 75 66 66 65 72 20 69 | 73 20 6e 6f 74 20 73 65 |buffer i|s not se|
|00004570| 6c 65 63 74 65 64 2c 20 | 6a 75 73 74 20 72 65 74 |lected, |just ret|
|00004580| 75 72 6e 65 64 20 74 6f | 20 74 68 65 20 63 61 6c |urned to| the cal|
|00004590| 6c 65 72 2e 0a 49 66 20 | 4e 4f 57 41 52 4e 20 69 |ler..If |NOWARN i|
|000045a0| 73 20 6e 6f 6e 2d 6e 69 | 6c 20 77 61 72 6e 69 6e |s non-ni|l warnin|
|000045b0| 67 20 6d 65 73 73 61 67 | 65 73 20 61 62 6f 75 74 |g messag|es about|
|000045c0| 20 73 65 76 65 72 61 6c | 20 70 6f 74 65 6e 74 69 | several| potenti|
|000045d0| 61 6c 0a 70 72 6f 62 6c | 65 6d 73 20 77 69 6c 6c |al.probl|ems will|
|000045e0| 20 62 65 20 73 75 70 70 | 72 65 73 73 65 64 2e 22 | be supp|ressed."|
|000045f0| 5d 29 0a 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |]).(byte|-code ".|
|00004600| c1 21 ac 82 c2 11 c2 87 | 22 20 5b 62 6f 75 6e 64 |.!......|" [bound|
|00004610| 70 20 61 66 74 65 72 2d | 66 69 6e 64 2d 66 69 6c |p after-|find-fil|
|00004620| 65 2d 66 72 6f 6d 2d 72 | 65 76 65 72 74 2d 62 75 |e-from-r|evert-bu|
|00004630| 66 66 65 72 20 6e 69 6c | 5d 20 32 29 0a 28 66 73 |ffer nil|] 2).(fs|
|00004640| 65 74 20 27 61 66 74 65 | 72 2d 66 69 6e 64 2d 66 |et 'afte|r-find-f|
|00004650| 69 6c 65 20 23 5b 28 26 | 6f 70 74 69 6f 6e 61 6c |ile #[(&|optional|
|00004660| 20 65 72 72 6f 72 20 77 | 61 72 6e 20 6e 6f 61 75 | error w|arn noau|
|00004670| 74 6f 20 61 66 74 65 72 | 2d 66 69 6e 64 2d 66 69 |to after|-find-fi|
|00004680| 6c 65 2d 66 72 6f 6d 2d | 72 65 76 65 72 74 2d 62 |le-from-|revert-b|
|00004690| 75 66 66 65 72 29 20 22 | c0 09 21 3f 12 0b 84 97 |uffer) "|..!?....|
|000046a0| 00 c4 1d 0e 06 ab 8c c7 | 09 21 ab 87 c8 12 c9 ca |........|.!......|
|000046b0| 21 aa dd 5c 6e ac 9b 0e | 0b ab 8c cc cd 20 09 5c |!..\n...|..... .\|
|000046c0| 22 ab 85 c9 ce 21 aa ca | c8 15 0e 06 ad c4 c9 cf |"....!..|........|
|000046d0| 21 aa bf 0e 06 ac 87 c8 | 15 c9 d0 21 aa b4 c7 d1 |!.......|...!....|
|000046e0| 0e 12 21 21 ab 85 c9 d3 | 21 aa a7 d4 d5 09 21 21 |..!!....|!.....!!|
|000046f0| ab 85 c4 89 12 aa 9b c4 | 12 d4 d5 09 21 21 ac 91 |........|....!!..|
|00004700| d6 d7 d8 d9 09 21 5c 22 | 21 ab 87 da d5 09 21 c8 |.....!\"|!.....!.|
|00004710| 5c 22 88 c4 89 1e 1b ab | 8d dc 0e 1b 21 88 0d ac |\"......|....!...|
|00004720| 85 dd de c8 5c 22 88 2a | 0e 1f ab 88 0e 20 ac 84 |....\".*|..... ..|
|00004730| e1 c8 21 88 e2 c8 21 88 | e3 e4 0e 25 5c 22 87 22 |..!...!.|...%\"."|
|00004740| 20 5b 66 69 6c 65 2d 77 | 72 69 74 61 62 6c 65 2d | [file-w|ritable-|
|00004750| 70 20 62 75 66 66 65 72 | 2d 66 69 6c 65 2d 6e 61 |p buffer|-file-na|
|00004760| 6d 65 20 62 75 66 66 65 | 72 2d 72 65 61 64 2d 6f |me buffe|r-read-o|
|00004770| 6e 6c 79 20 6e 6f 6e 69 | 6e 74 65 72 61 63 74 69 |nly noni|nteracti|
|00004780| 76 65 20 6e 69 6c 20 6e | 6f 74 2d 73 65 72 69 6f |ve nil n|ot-serio|
|00004790| 75 73 20 65 72 72 6f 72 | 20 66 69 6c 65 2d 61 74 |us error| file-at|
|000047a0| 74 72 69 62 75 74 65 73 | 20 74 20 67 65 74 74 65 |tributes| t gette|
|000047b0| 78 74 20 22 46 69 6c 65 | 20 65 78 69 73 74 73 2c |xt "File| exists,|
|000047c0| 20 62 75 74 20 63 61 6e | 6e 6f 74 20 62 65 20 72 | but can|not be r|
|000047d0| 65 61 64 2e 22 20 77 61 | 72 6e 20 66 69 6c 65 2d |ead." wa|rn file-|
|000047e0| 6e 65 77 65 72 2d 74 68 | 61 6e 2d 66 69 6c 65 2d |newer-th|an-file-|
|000047f0| 70 20 6d 61 6b 65 2d 61 | 75 74 6f 2d 73 61 76 65 |p make-a|uto-save|
|00004800| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 22 41 75 74 6f |-file-na|me "Auto|
|00004810| 20 73 61 76 65 20 66 69 | 6c 65 20 69 73 20 6e 65 | save fi|le is ne|
|00004820| 77 65 72 3b 20 63 6f 6e | 73 69 64 65 72 20 4d 2d |wer; con|sider M-|
|00004830| 78 20 72 65 63 6f 76 65 | 72 2d 66 69 6c 65 22 20 |x recove|r-file" |
|00004840| 22 28 4e 65 77 20 66 69 | 6c 65 29 22 20 22 4e 6f |"(New fi|le)" "No|
|00004850| 74 65 3a 20 66 69 6c 65 | 20 69 73 20 77 72 69 74 |te: file| is writ|
|00004860| 65 20 70 72 6f 74 65 63 | 74 65 64 22 20 64 69 72 |e protec|ted" dir|
|00004870| 65 63 74 6f 72 79 2d 66 | 69 6c 65 2d 6e 61 6d 65 |ectory-f|ile-name|
|00004880| 20 64 65 66 61 75 6c 74 | 2d 64 69 72 65 63 74 6f | default|-directo|
|00004890| 72 79 20 22 46 69 6c 65 | 20 6e 6f 74 20 66 6f 75 |ry "File| not fou|
|000048a0| 6e 64 20 61 6e 64 20 64 | 69 72 65 63 74 6f 72 79 |nd and d|irectory|
|000048b0| 20 77 72 69 74 65 2d 70 | 72 6f 74 65 63 74 65 64 | write-p|rotected|
|000048c0| 22 20 66 69 6c 65 2d 65 | 78 69 73 74 73 2d 70 20 |" file-e|xists-p |
|000048d0| 66 69 6c 65 2d 6e 61 6d | 65 2d 64 69 72 65 63 74 |file-nam|e-direct|
|000048e0| 6f 72 79 20 79 65 73 2d | 6f 72 2d 6e 6f 2d 70 20 |ory yes-|or-no-p |
|000048f0| 66 6f 72 6d 61 74 20 22 | 54 68 65 20 64 69 72 65 |format "|The dire|
|00004900| 63 74 6f 72 79 20 63 6f | 6e 74 61 69 6e 69 6e 67 |ctory co|ntaining|
|00004910| 20 25 73 20 64 6f 65 73 | 20 6e 6f 74 20 65 78 69 | %s does| not exi|
|00004920| 73 74 2e 20 20 43 72 65 | 61 74 65 3f 20 22 20 61 |st. Cre|ate? " a|
|00004930| 62 62 72 65 76 69 61 74 | 65 2d 66 69 6c 65 2d 6e |bbreviat|e-file-n|
|00004940| 61 6d 65 20 6d 61 6b 65 | 2d 64 69 72 65 63 74 6f |ame make|-directo|
|00004950| 72 79 20 6d 73 67 20 6d | 65 73 73 61 67 65 20 73 |ry msg m|essage s|
|00004960| 69 74 2d 66 6f 72 20 31 | 20 61 75 74 6f 2d 73 61 |it-for 1| auto-sa|
|00004970| 76 65 2d 64 65 66 61 75 | 6c 74 20 6e 6f 61 75 74 |ve-defau|lt noaut|
|00004980| 6f 20 61 75 74 6f 2d 73 | 61 76 65 2d 6d 6f 64 65 |o auto-s|ave-mode|
|00004990| 20 6e 6f 72 6d 61 6c 2d | 6d 6f 64 65 20 6d 61 70 | normal-|mode map|
|000049a0| 63 61 72 20 66 75 6e 63 | 61 6c 6c 20 66 69 6e 64 |car func|all find|
|000049b0| 2d 66 69 6c 65 2d 68 6f | 6f 6b 73 5d 20 36 20 22 |-file-ho|oks] 6 "|
|000049c0| 5c 0a 43 61 6c 6c 65 64 | 20 61 66 74 65 72 20 66 |\.Called| after f|
|000049d0| 69 6e 64 69 6e 67 20 61 | 20 66 69 6c 65 20 61 6e |inding a| file an|
|000049e0| 64 20 62 79 20 74 68 65 | 20 64 65 66 61 75 6c 74 |d by the| default|
|000049f0| 20 72 65 76 65 72 74 20 | 66 75 6e 63 74 69 6f 6e | revert |function|
|00004a00| 2e 0a 53 65 74 73 20 62 | 75 66 66 65 72 20 6d 6f |..Sets b|uffer mo|
|00004a10| 64 65 2c 20 70 61 72 73 | 65 73 20 6c 6f 63 61 6c |de, pars|es local|
|00004a20| 20 76 61 72 69 61 62 6c | 65 73 2e 0a 4f 70 74 69 | variabl|es..Opti|
|00004a30| 6f 6e 61 6c 20 61 72 67 | 73 20 45 52 52 4f 52 2c |onal arg|s ERROR,|
|00004a40| 20 57 41 52 4e 2c 20 61 | 6e 64 20 4e 4f 41 55 54 | WARN, a|nd NOAUT|
|00004a50| 4f 3a 20 45 52 52 4f 52 | 20 6e 6f 6e 2d 6e 69 6c |O: ERROR| non-nil|
|00004a60| 20 6d 65 61 6e 73 20 74 | 68 65 72 65 20 77 61 73 | means t|here was|
|00004a70| 20 61 6e 0a 65 72 72 6f | 72 20 69 6e 20 72 65 61 | an.erro|r in rea|
|00004a80| 64 69 6e 67 20 74 68 65 | 20 66 69 6c 65 2e 20 20 |ding the| file. |
|00004a90| 57 41 52 4e 20 6e 6f 6e | 2d 6e 69 6c 20 6d 65 61 |WARN non|-nil mea|
|00004aa0| 6e 73 20 77 61 72 6e 20 | 69 66 20 74 68 65 72 65 |ns warn |if there|
|00004ab0| 0a 65 78 69 73 74 73 20 | 61 6e 20 61 75 74 6f 2d |.exists |an auto-|
|00004ac0| 73 61 76 65 20 66 69 6c | 65 20 6d 6f 72 65 20 72 |save fil|e more r|
|00004ad0| 65 63 65 6e 74 20 74 68 | 61 6e 20 74 68 65 20 76 |ecent th|an the v|
|00004ae0| 69 73 69 74 65 64 20 66 | 69 6c 65 2e 0a 4e 4f 41 |isited f|ile..NOA|
|00004af0| 55 54 4f 20 6d 65 61 6e | 73 20 64 6f 6e 27 74 20 |UTO mean|s don't |
|00004b00| 6d 65 73 73 20 77 69 74 | 68 20 61 75 74 6f 2d 73 |mess wit|h auto-s|
|00004b10| 61 76 65 20 6d 6f 64 65 | 2e 0a 46 6f 75 72 74 68 |ave mode|..Fourth|
|00004b20| 20 61 72 67 20 41 46 54 | 45 52 2d 46 49 4e 44 2d | arg AFT|ER-FIND-|
|00004b30| 46 49 4c 45 2d 46 52 4f | 4d 2d 52 45 56 45 52 54 |FILE-FRO|M-REVERT|
|00004b40| 2d 42 55 46 46 45 52 20 | 6e 6f 6e 2d 6e 69 6c 0a |-BUFFER |non-nil.|
|00004b50| 20 6d 65 61 6e 73 20 74 | 68 69 73 20 63 61 6c 6c | means t|his call|
|00004b60| 20 77 61 73 20 66 72 6f | 6d 20 60 72 65 76 65 72 | was fro|m `rever|
|00004b70| 74 2d 62 75 66 66 65 72 | 27 2e 0a 46 69 6e 69 73 |t-buffer|'..Finis|
|00004b80| 68 65 73 20 62 79 20 63 | 61 6c 6c 69 6e 67 20 74 |hes by c|alling t|
|00004b90| 68 65 20 66 75 6e 63 74 | 69 6f 6e 73 20 69 6e 20 |he funct|ions in |
|00004ba0| 60 66 69 6e 64 2d 66 69 | 6c 65 2d 68 6f 6f 6b 73 |`find-fi|le-hooks|
|00004bb0| 27 2e 22 5d 29 0a 28 66 | 73 65 74 20 27 6e 6f 72 |'."]).(f|set 'nor|
|00004bc0| 6d 61 6c 2d 6d 6f 64 65 | 20 23 5b 28 26 6f 70 74 |mal-mode| #[(&opt|
|00004bd0| 69 6f 6e 61 6c 20 66 69 | 6e 64 2d 66 69 6c 65 29 |ional fi|nd-file)|
|00004be0| 20 22 08 ac 86 09 ae 81 | c2 20 88 c3 c4 c5 8f ad | "......|. ......|
|00004bf0| 84 c3 c6 c7 8f 87 22 20 | 5b 66 69 6e 64 2d 66 69 |......" |[find-fi|
|00004c00| 6c 65 20 64 65 66 61 75 | 6c 74 2d 6d 61 6a 6f 72 |le defau|lt-major|
|00004c10| 2d 6d 6f 64 65 20 66 75 | 6e 64 61 6d 65 6e 74 61 |-mode fu|ndamenta|
|00004c20| 6c 2d 6d 6f 64 65 20 65 | 72 72 20 28 62 79 74 65 |l-mode e|rr (byte|
|00004c30| 2d 63 6f 64 65 20 22 c0 | 20 88 c1 87 22 20 5b 73 |-code ".| ..." [s|
|00004c40| 65 74 2d 61 75 74 6f 2d | 6d 6f 64 65 20 74 5d 20 |et-auto-|mode t] |
|00004c50| 31 29 20 28 28 65 72 72 | 6f 72 20 28 62 79 74 65 |1) ((err|or (byte|
|00004c60| 2d 63 6f 64 65 20 22 c0 | c1 c2 0b 21 5c 22 88 c4 |-code ".|...!\"..|
|00004c70| 87 22 20 5b 6d 65 73 73 | 61 67 65 20 22 46 69 6c |." [mess|age "Fil|
|00004c80| 65 20 6d 6f 64 65 20 73 | 70 65 63 69 66 69 63 61 |e mode s|pecifica|
|00004c90| 74 69 6f 6e 20 65 72 72 | 6f 72 3a 20 25 73 22 20 |tion err|or: %s" |
|00004ca0| 70 72 69 6e 31 2d 74 6f | 2d 73 74 72 69 6e 67 20 |prin1-to|-string |
|00004cb0| 65 72 72 20 6e 69 6c 5d | 20 34 29 29 29 20 28 62 |err nil]| 4))) (b|
|00004cc0| 79 74 65 2d 63 6f 64 65 | 20 22 c0 09 3f 21 87 22 |yte-code| "..?!."|
|00004cd0| 20 5b 68 61 63 6b 2d 6c | 6f 63 61 6c 2d 76 61 72 | [hack-l|ocal-var|
|00004ce0| 69 61 62 6c 65 73 20 66 | 69 6e 64 2d 66 69 6c 65 |iables f|ind-file|
|00004cf0| 5d 20 32 29 20 28 28 65 | 72 72 6f 72 20 28 62 79 |] 2) ((e|rror (by|
|00004d00| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 c2 0b 21 5c 22 |te-code |"....!\"|
|00004d10| 87 22 20 5b 6d 65 73 73 | 61 67 65 20 22 46 69 6c |." [mess|age "Fil|
|00004d20| 65 20 6c 6f 63 61 6c 2d | 76 61 72 69 61 62 6c 65 |e local-|variable|
|00004d30| 73 20 65 72 72 6f 72 3a | 20 25 73 22 20 70 72 69 |s error:| %s" pri|
|00004d40| 6e 31 2d 74 6f 2d 73 74 | 72 69 6e 67 20 65 72 72 |n1-to-st|ring err|
|00004d50| 5d 20 34 29 29 29 5d 20 | 33 20 22 5c 0a 43 68 6f |] 4)))] |3 "\.Cho|
|00004d60| 6f 73 65 20 74 68 65 20 | 6d 61 6a 6f 72 20 6d 6f |ose the |major mo|
|00004d70| 64 65 20 66 6f 72 20 74 | 68 69 73 20 62 75 66 66 |de for t|his buff|
|00004d80| 65 72 20 61 75 74 6f 6d | 61 74 69 63 61 6c 6c 79 |er autom|atically|
|00004d90| 2e 0a 41 6c 73 6f 20 73 | 65 74 73 20 75 70 20 61 |..Also s|ets up a|
|00004da0| 6e 79 20 73 70 65 63 69 | 66 69 65 64 20 6c 6f 63 |ny speci|fied loc|
|00004db0| 61 6c 20 76 61 72 69 61 | 62 6c 65 73 20 6f 66 20 |al varia|bles of |
|00004dc0| 74 68 65 20 66 69 6c 65 | 2e 0a 55 73 65 73 20 74 |the file|..Uses t|
|00004dd0| 68 65 20 76 69 73 69 74 | 65 64 20 66 69 6c 65 20 |he visit|ed file |
|00004de0| 6e 61 6d 65 2c 20 74 68 | 65 20 2d 2a 2d 20 6c 69 |name, th|e -*- li|
|00004df0| 6e 65 2c 20 61 6e 64 20 | 74 68 65 20 6c 6f 63 61 |ne, and |the loca|
|00004e00| 6c 20 76 61 72 69 61 62 | 6c 65 73 20 73 70 65 63 |l variab|les spec|
|00004e10| 2e 0a 0a 54 68 69 73 20 | 66 75 6e 63 74 69 6f 6e |...This |function|
|00004e20| 20 69 73 20 63 61 6c 6c | 65 64 20 61 75 74 6f 6d | is call|ed autom|
|00004e30| 61 74 69 63 61 6c 6c 79 | 20 66 72 6f 6d 20 60 66 |atically| from `f|
|00004e40| 69 6e 64 2d 66 69 6c 65 | 27 2e 20 20 49 6e 20 74 |ind-file|'. In t|
|00004e50| 68 61 74 20 63 61 73 65 | 2c 0a 77 65 20 6d 61 79 |hat case|,.we may|
|00004e60| 20 73 65 74 20 75 70 20 | 73 70 65 63 69 66 69 65 | set up |specifie|
|00004e70| 64 20 6c 6f 63 61 6c 20 | 76 61 72 69 61 62 6c 65 |d local |variable|
|00004e80| 73 20 64 65 70 65 6e 64 | 69 6e 67 20 6f 6e 20 74 |s depend|ing on t|
|00004e90| 68 65 20 76 61 6c 75 65 | 20 6f 66 0a 60 65 6e 61 |he value| of.`ena|
|00004ea0| 62 6c 65 2d 6c 6f 63 61 | 6c 2d 76 61 72 69 61 62 |ble-loca|l-variab|
|00004eb0| 6c 65 73 27 3a 20 69 66 | 20 69 74 20 69 73 20 74 |les': if| it is t|
|00004ec0| 2c 20 77 65 20 64 6f 3b | 20 69 66 20 69 74 20 69 |, we do;| if it i|
|00004ed0| 73 20 6e 69 6c 2c 20 77 | 65 20 64 6f 6e 27 74 3b |s nil, w|e don't;|
|00004ee0| 0a 6f 74 68 65 72 77 69 | 73 65 2c 20 77 65 20 71 |.otherwi|se, we q|
|00004ef0| 75 65 72 79 2e 20 20 60 | 65 6e 61 62 6c 65 2d 6c |uery. `|enable-l|
|00004f00| 6f 63 61 6c 2d 76 61 72 | 69 61 62 6c 65 73 27 20 |ocal-var|iables' |
|00004f10| 69 73 20 69 67 6e 6f 72 | 65 64 20 69 66 20 79 6f |is ignor|ed if yo|
|00004f20| 75 0a 72 75 6e 20 60 6e | 6f 72 6d 61 6c 2d 6d 6f |u.run `n|ormal-mo|
|00004f30| 64 65 27 20 65 78 70 6c | 69 63 69 74 6c 79 2e 22 |de' expl|icitly."|
|00004f40| 20 6e 69 6c 5d 29 0a 28 | 64 65 66 76 61 72 20 61 | nil]).(|defvar a|
|00004f50| 75 74 6f 2d 6d 6f 64 65 | 2d 61 6c 69 73 74 20 28 |uto-mode|-alist (|
|00004f60| 6d 61 70 63 61 72 20 27 | 70 75 72 65 63 6f 70 79 |mapcar '|purecopy|
|00004f70| 20 27 28 28 22 5c 5c 2e | 74 65 3f 78 74 5c 5c 27 | '(("\\.|te?xt\\'|
|00004f80| 22 20 2e 20 74 65 78 74 | 2d 6d 6f 64 65 29 20 28 |" . text|-mode) (|
|00004f90| 22 5c 5c 2e 63 5c 5c 27 | 22 20 2e 20 63 2d 6d 6f |"\\.c\\'|" . c-mo|
|00004fa0| 64 65 29 20 28 22 5c 5c | 2e 68 5c 5c 27 22 20 2e |de) ("\\|.h\\'" .|
|00004fb0| 20 63 2d 6d 6f 64 65 29 | 20 28 22 5c 5c 2e 74 65 | c-mode)| ("\\.te|
|00004fc0| 78 5c 5c 27 22 20 2e 20 | 54 65 58 2d 6d 6f 64 65 |x\\'" . |TeX-mode|
|00004fd0| 29 20 28 22 5c 5c 2e 6c | 74 78 5c 5c 27 22 20 2e |) ("\\.l|tx\\'" .|
|00004fe0| 20 4c 61 54 65 58 2d 6d | 6f 64 65 29 20 28 22 5c | LaTeX-m|ode) ("\|
|00004ff0| 5c 2e 65 5c 5c 27 22 20 | 2e 20 65 69 66 66 65 6c |\.e\\'" |. eiffel|
|00005000| 2d 6d 6f 64 65 29 20 28 | 22 5c 5c 2e 65 6c 5c 5c |-mode) (|"\\.el\\|
|00005010| 27 22 20 2e 20 65 6d 61 | 63 73 2d 6c 69 73 70 2d |'" . ema|cs-lisp-|
|00005020| 6d 6f 64 65 29 20 28 22 | 5c 5c 2e 6d 6d 5c 5c 27 |mode) ("|\\.mm\\'|
|00005030| 22 20 2e 20 6e 72 6f 66 | 66 2d 6d 6f 64 65 29 20 |" . nrof|f-mode) |
|00005040| 28 22 5c 5c 2e 6d 65 5c | 5c 27 22 20 2e 20 6e 72 |("\\.me\|\'" . nr|
|00005050| 6f 66 66 2d 6d 6f 64 65 | 29 20 28 22 5c 5c 2e 6d |off-mode|) ("\\.m|
|00005060| 73 5c 5c 27 22 20 2e 20 | 6e 72 6f 66 66 2d 6d 6f |s\\'" . |nroff-mo|
|00005070| 64 65 29 20 28 22 5c 5c | 2e 6d 61 6e 5c 5c 27 22 |de) ("\\|.man\\'"|
|00005080| 20 2e 20 6e 72 6f 66 66 | 2d 6d 6f 64 65 29 20 28 | . nroff|-mode) (|
|00005090| 22 5c 5c 2e 73 63 6d 5c | 5c 27 22 20 2e 20 73 63 |"\\.scm\|\'" . sc|
|000050a0| 68 65 6d 65 2d 6d 6f 64 | 65 29 20 28 22 5c 5c 2e |heme-mod|e) ("\\.|
|000050b0| 6c 5c 5c 27 22 20 2e 20 | 6c 69 73 70 2d 6d 6f 64 |l\\'" . |lisp-mod|
|000050c0| 65 29 20 28 22 5c 5c 2e | 6c 69 73 70 5c 5c 27 22 |e) ("\\.|lisp\\'"|
|000050d0| 20 2e 20 6c 69 73 70 2d | 6d 6f 64 65 29 20 28 22 | . lisp-|mode) ("|
|000050e0| 5c 5c 2e 66 5c 5c 27 22 | 20 2e 20 66 6f 72 74 72 |\\.f\\'"| . fortr|
|000050f0| 61 6e 2d 6d 6f 64 65 29 | 20 28 22 5c 5c 2e 66 6f |an-mode)| ("\\.fo|
|00005100| 72 5c 5c 27 22 20 2e 20 | 66 6f 72 74 72 61 6e 2d |r\\'" . |fortran-|
|00005110| 6d 6f 64 65 29 20 28 22 | 5c 5c 2e 70 5c 5c 27 22 |mode) ("|\\.p\\'"|
|00005120| 20 2e 20 70 61 73 63 61 | 6c 2d 6d 6f 64 65 29 20 | . pasca|l-mode) |
|00005130| 28 22 5c 5c 2e 70 61 73 | 5c 5c 27 22 20 2e 20 70 |("\\.pas|\\'" . p|
|00005140| 61 73 63 61 6c 2d 6d 6f | 64 65 29 20 28 22 5c 5c |ascal-mo|de) ("\\|
|00005150| 2e 6d 73 73 5c 5c 27 22 | 20 2e 20 73 63 72 69 62 |.mss\\'"| . scrib|
|00005160| 65 2d 6d 6f 64 65 29 20 | 28 22 5c 5c 2e 70 6c 5c |e-mode) |("\\.pl\|
|00005170| 5c 27 22 20 2e 20 70 65 | 72 6c 2d 6d 6f 64 65 29 |\'" . pe|rl-mode)|
|00005180| 20 28 22 5c 5c 2e 63 63 | 5c 5c 27 22 20 2e 20 63 | ("\\.cc|\\'" . c|
|00005190| 2b 2b 2d 6d 6f 64 65 29 | 20 28 22 5c 5c 2e 68 68 |++-mode)| ("\\.hh|
|000051a0| 5c 5c 27 22 20 2e 20 63 | 2b 2b 2d 6d 6f 64 65 29 |\\'" . c|++-mode)|
|000051b0| 20 28 22 5c 5c 2e 43 5c | 5c 27 22 20 2e 20 63 2b | ("\\.C\|\'" . c+|
|000051c0| 2b 2d 6d 6f 64 65 29 20 | 28 22 5c 5c 2e 48 5c 5c |+-mode) |("\\.H\\|
|000051d0| 27 22 20 2e 20 63 2b 2b | 2d 6d 6f 64 65 29 20 28 |'" . c++|-mode) (|
|000051e0| 22 5c 5c 2e 74 65 78 69 | 6e 66 6f 5c 5c 27 22 20 |"\\.texi|nfo\\'" |
|000051f0| 2e 20 74 65 78 69 6e 66 | 6f 2d 6d 6f 64 65 29 20 |. texinf|o-mode) |
|00005200| 28 22 5c 5c 2e 74 65 78 | 69 5c 5c 27 22 20 2e 20 |("\\.tex|i\\'" . |
|00005210| 74 65 78 69 6e 66 6f 2d | 6d 6f 64 65 29 20 28 22 |texinfo-|mode) ("|
|00005220| 5c 5c 2e 73 5c 5c 27 22 | 20 2e 20 61 73 6d 2d 6d |\\.s\\'"| . asm-m|
|00005230| 6f 64 65 29 20 28 22 43 | 68 61 6e 67 65 4c 6f 67 |ode) ("C|hangeLog|
|00005240| 5c 5c 27 22 20 2e 20 63 | 68 61 6e 67 65 2d 6c 6f |\\'" . c|hange-lo|
|00005250| 67 2d 6d 6f 64 65 29 20 | 28 22 63 68 61 6e 67 65 |g-mode) |("change|
|00005260| 2e 6c 6f 67 5c 5c 27 22 | 20 2e 20 63 68 61 6e 67 |.log\\'"| . chang|
|00005270| 65 2d 6c 6f 67 2d 6d 6f | 64 65 29 20 28 22 63 68 |e-log-mo|de) ("ch|
|00005280| 61 6e 67 65 6c 6f 5c 5c | 27 22 20 2e 20 63 68 61 |angelo\\|'" . cha|
|00005290| 6e 67 65 2d 6c 6f 67 2d | 6d 6f 64 65 29 20 28 22 |nge-log-|mode) ("|
|000052a0| 43 68 61 6e 67 65 4c 6f | 67 2e 5b 30 2d 39 5d 2b |ChangeLo|g.[0-9]+|
|000052b0| 5c 5c 27 22 20 2e 20 63 | 68 61 6e 67 65 2d 6c 6f |\\'" . c|hange-lo|
|000052c0| 67 2d 6d 6f 64 65 29 20 | 28 22 5c 5c 24 43 48 41 |g-mode) |("\\$CHA|
|000052d0| 4e 47 45 5f 4c 4f 47 5c | 5c 24 5c 5c 2e 54 58 54 |NGE_LOG\|\$\\.TXT|
|000052e0| 22 20 2e 20 63 68 61 6e | 67 65 2d 6c 6f 67 2d 6d |" . chan|ge-log-m|
|000052f0| 6f 64 65 29 20 28 22 5c | 5c 2e 5b 31 32 33 34 35 |ode) ("\|\.[12345|
|00005300| 36 37 38 5d 5c 5c 27 22 | 20 2e 20 6e 72 6f 66 66 |678]\\'"| . nroff|
|00005310| 2d 6d 6f 64 65 29 20 28 | 22 5c 5c 2e 54 65 58 5c |-mode) (|"\\.TeX\|
|00005320| 5c 27 22 20 2e 20 54 65 | 58 2d 6d 6f 64 65 29 20 |\'" . Te|X-mode) |
|00005330| 28 22 5c 5c 2e 73 74 79 | 5c 5c 27 22 20 2e 20 4c |("\\.sty|\\'" . L|
|00005340| 61 54 65 58 2d 6d 6f 64 | 65 29 20 28 22 5c 5c 2e |aTeX-mod|e) ("\\.|
|00005350| 62 62 6c 5c 5c 27 22 20 | 2e 20 4c 61 54 65 58 2d |bbl\\'" |. LaTeX-|
|00005360| 6d 6f 64 65 29 20 28 22 | 5c 5c 2e 62 69 62 5c 5c |mode) ("|\\.bib\\|
|00005370| 27 22 20 2e 20 62 69 62 | 74 65 78 2d 6d 6f 64 65 |'" . bib|tex-mode|
|00005380| 29 20 28 22 5c 5c 2e 61 | 72 74 69 63 6c 65 5c 5c |) ("\\.a|rticle\\|
|00005390| 27 22 20 2e 20 74 65 78 | 74 2d 6d 6f 64 65 29 20 |'" . tex|t-mode) |
|000053a0| 28 22 5c 5c 2e 6c 65 74 | 74 65 72 5c 5c 27 22 20 |("\\.let|ter\\'" |
|000053b0| 2e 20 74 65 78 74 2d 6d | 6f 64 65 29 20 28 22 5c |. text-m|ode) ("\|
|000053c0| 5c 2e 74 63 6c 5c 5c 27 | 22 20 2e 20 74 63 6c 2d |\.tcl\\'|" . tcl-|
|000053d0| 6d 6f 64 65 29 20 28 22 | 5c 5c 2e 6c 73 70 5c 5c |mode) ("|\\.lsp\\|
|000053e0| 27 22 20 2e 20 6c 69 73 | 70 2d 6d 6f 64 65 29 20 |'" . lis|p-mode) |
|000053f0| 28 22 5c 5c 2e 61 77 6b | 5c 5c 27 22 20 2e 20 61 |("\\.awk|\\'" . a|
|00005400| 77 6b 2d 6d 6f 64 65 29 | 20 28 22 5c 5c 2e 70 72 |wk-mode)| ("\\.pr|
|00005410| 6f 6c 6f 67 5c 5c 27 22 | 20 2e 20 70 72 6f 6c 6f |olog\\'"| . prolo|
|00005420| 67 2d 6d 6f 64 65 29 20 | 28 22 5c 5c 2e 74 61 72 |g-mode) |("\\.tar|
|00005430| 5c 5c 27 22 20 2e 20 74 | 61 72 2d 6d 6f 64 65 29 |\\'" . t|ar-mode)|
|00005440| 20 28 22 5e 2f 74 6d 70 | 2f 52 65 22 20 2e 20 74 | ("^/tmp|/Re" . t|
|00005450| 65 78 74 2d 6d 6f 64 65 | 29 20 28 22 2f 4d 65 73 |ext-mode|) ("/Mes|
|00005460| 73 61 67 65 5b 30 2d 39 | 5d 2a 5c 5c 27 22 20 2e |sage[0-9|]*\\'" .|
|00005470| 20 74 65 78 74 2d 6d 6f | 64 65 29 20 28 22 5e 2f | text-mo|de) ("^/|
|00005480| 74 6d 70 2f 66 6f 6c 2f | 22 20 2e 20 74 65 78 74 |tmp/fol/|" . text|
|00005490| 2d 6d 6f 64 65 29 20 28 | 22 5c 5c 2e 79 5c 5c 27 |-mode) (|"\\.y\\'|
|000054a0| 22 20 2e 20 63 2d 6d 6f | 64 65 29 20 28 22 5c 5c |" . c-mo|de) ("\\|
|000054b0| 2e 6c 65 78 5c 5c 27 22 | 20 2e 20 63 2d 6d 6f 64 |.lex\\'"| . c-mod|
|000054c0| 65 29 20 28 22 5c 5c 2e | 6f 61 6b 5c 5c 27 22 20 |e) ("\\.|oak\\'" |
|000054d0| 2e 20 73 63 68 65 6d 65 | 2d 6d 6f 64 65 29 20 28 |. scheme|-mode) (|
|000054e0| 22 5c 5c 2e 73 63 6d 2e | 5b 30 2d 39 5d 2a 5c 5c |"\\.scm.|[0-9]*\\|
|000054f0| 27 22 20 2e 20 73 63 68 | 65 6d 65 2d 6d 6f 64 65 |'" . sch|eme-mode|
|00005500| 29 20 28 22 5c 5c 2e 68 | 74 6d 6c 5c 5c 27 22 20 |) ("\\.h|tml\\'" |
|00005510| 2e 20 68 74 6d 6c 2d 6d | 6f 64 65 29 20 28 22 5c |. html-m|ode) ("\|
|00005520| 5c 2e 73 67 6d 5c 5c 27 | 22 20 2e 20 73 67 6d 6c |\.sgm\\'|" . sgml|
|00005530| 2d 6d 6f 64 65 29 20 28 | 22 5c 5c 2e 73 67 6d 6c |-mode) (|"\\.sgml|
|00005540| 5c 5c 27 22 20 2e 20 73 | 67 6d 6c 2d 6d 6f 64 65 |\\'" . s|gml-mode|
|00005550| 29 20 28 22 5c 5c 2e 64 | 74 64 5c 5c 27 22 20 2e |) ("\\.d|td\\'" .|
|00005560| 20 73 67 6d 6c 2d 6d 6f | 64 65 29 20 28 22 5c 5c | sgml-mo|de) ("\\|
|00005570| 2e 63 3f 70 73 5c 5c 27 | 22 20 2e 20 70 6f 73 74 |.c?ps\\'|" . post|
|00005580| 73 63 72 69 70 74 2d 6d | 6f 64 65 29 20 28 22 5b |script-m|ode) ("[|
|00005590| 5d 3e 3a 2f 5d 5c 5c 2e | 2e 2a 65 6d 61 63 73 5c |]>:/]\\.|.*emacs\|
|000055a0| 5c 27 22 20 2e 20 65 6d | 61 63 73 2d 6c 69 73 70 |\'" . em|acs-lisp|
|000055b0| 2d 6d 6f 64 65 29 20 28 | 22 5b 3a 2f 5d 5f 65 6d |-mode) (|"[:/]_em|
|000055c0| 61 63 73 5c 5c 27 22 20 | 2e 20 65 6d 61 63 73 2d |acs\\'" |. emacs-|
|000055d0| 6c 69 73 70 2d 6d 6f 64 | 65 29 20 28 22 5c 5c 2e |lisp-mod|e) ("\\.|
|000055e0| 6d 6c 5c 5c 27 22 20 2e | 20 6c 69 73 70 2d 6d 6f |ml\\'" .| lisp-mo|
|000055f0| 64 65 29 29 29 20 22 5c | 0a 41 6c 69 73 74 20 6f |de))) "\|.Alist o|
|00005600| 66 20 66 69 6c 65 6e 61 | 6d 65 20 70 61 74 74 65 |f filena|me patte|
|00005610| 72 6e 73 20 76 73 20 63 | 6f 72 72 65 73 70 6f 6e |rns vs c|orrespon|
|00005620| 64 69 6e 67 20 6d 61 6a | 6f 72 20 6d 6f 64 65 20 |ding maj|or mode |
|00005630| 66 75 6e 63 74 69 6f 6e | 73 2e 0a 45 61 63 68 20 |function|s..Each |
|00005640| 65 6c 65 6d 65 6e 74 20 | 6c 6f 6f 6b 73 20 6c 69 |element |looks li|
|00005650| 6b 65 20 28 52 45 47 45 | 58 50 20 2e 20 46 55 4e |ke (REGE|XP . FUN|
|00005660| 43 54 49 4f 4e 29 20 6f | 72 20 28 52 45 47 45 58 |CTION) o|r (REGEX|
|00005670| 50 20 46 55 4e 43 54 49 | 4f 4e 29 2e 0a 56 69 73 |P FUNCTI|ON)..Vis|
|00005680| 69 74 69 6e 67 20 61 20 | 66 69 6c 65 20 77 68 6f |iting a |file who|
|00005690| 73 65 20 6e 61 6d 65 20 | 6d 61 74 63 68 65 73 20 |se name |matches |
|000056a0| 52 45 47 45 58 50 20 63 | 61 75 73 65 73 20 46 55 |REGEXP c|auses FU|
|000056b0| 4e 43 54 49 4f 4e 20 74 | 6f 20 62 65 20 63 61 6c |NCTION t|o be cal|
|000056c0| 6c 65 64 2e 0a 49 66 20 | 74 68 65 20 65 6c 65 6d |led..If |the elem|
|000056d0| 65 6e 74 20 68 61 73 20 | 74 68 65 20 66 6f 72 6d |ent has |the form|
|000056e0| 20 28 52 45 47 45 58 50 | 20 46 55 4e 43 54 49 4f | (REGEXP| FUNCTIO|
|000056f0| 4e 29 2c 20 74 68 65 6e | 20 61 66 74 65 72 20 63 |N), then| after c|
|00005700| 61 6c 6c 69 6e 67 0a 46 | 55 4e 43 54 49 4f 4e 2c |alling.F|UNCTION,|
|00005710| 20 77 65 20 64 65 6c 65 | 74 65 20 74 68 65 20 73 | we dele|te the s|
|00005720| 75 66 66 69 78 20 74 68 | 61 74 20 6d 61 74 63 68 |uffix th|at match|
|00005730| 65 64 20 52 45 47 45 58 | 50 20 61 6e 64 20 73 65 |ed REGEX|P and se|
|00005740| 61 72 63 68 20 74 68 65 | 20 6c 69 73 74 0a 61 67 |arch the| list.ag|
|00005750| 61 69 6e 20 66 6f 72 20 | 61 6e 6f 74 68 65 72 20 |ain for |another |
|00005760| 6d 61 74 63 68 2e 22 29 | 0a 28 64 65 66 63 6f 6e |match.")|.(defcon|
|00005770| 73 74 20 69 6e 74 65 72 | 70 72 65 74 65 72 2d 6d |st inter|preter-m|
|00005780| 6f 64 65 2d 61 6c 69 73 | 74 20 28 6d 61 70 63 61 |ode-alis|t (mapca|
|00005790| 72 20 27 70 75 72 65 63 | 6f 70 79 20 27 28 28 22 |r 'purec|opy '(("|
|000057a0| 70 65 72 6c 22 20 2e 20 | 70 65 72 6c 2d 6d 6f 64 |perl" . |perl-mod|
|000057b0| 65 29 20 28 22 73 75 69 | 64 70 65 72 6c 22 20 2e |e) ("sui|dperl" .|
|000057c0| 20 70 65 72 6c 2d 6d 6f | 64 65 29 20 28 22 74 61 | perl-mo|de) ("ta|
|000057d0| 69 6e 74 70 65 72 6c 22 | 20 2e 20 70 65 72 6c 2d |intperl"| . perl-|
|000057e0| 6d 6f 64 65 29 20 28 22 | 73 68 22 20 2e 20 6b 73 |mode) ("|sh" . ks|
|000057f0| 68 2d 6d 6f 64 65 29 20 | 28 22 62 61 73 68 22 20 |h-mode) |("bash" |
|00005800| 2e 20 6b 73 68 2d 6d 6f | 64 65 29 20 28 22 6b 73 |. ksh-mo|de) ("ks|
|00005810| 68 22 20 2e 20 6b 73 68 | 2d 6d 6f 64 65 29 20 28 |h" . ksh|-mode) (|
|00005820| 22 73 63 6f 70 65 22 20 | 2e 20 74 63 6c 2d 6d 6f |"scope" |. tcl-mo|
|00005830| 64 65 29 20 28 22 77 69 | 73 68 22 20 2e 20 74 63 |de) ("wi|sh" . tc|
|00005840| 6c 2d 6d 6f 64 65 29 20 | 28 22 77 69 73 68 78 22 |l-mode) |("wishx"|
|00005850| 20 2e 20 74 63 6c 2d 6d | 6f 64 65 29 20 28 22 74 | . tcl-m|ode) ("t|
|00005860| 63 6c 22 20 2e 20 74 63 | 6c 2d 6d 6f 64 65 29 20 |cl" . tc|l-mode) |
|00005870| 28 22 74 63 6c 73 68 22 | 20 2e 20 74 63 6c 2d 6d |("tclsh"| . tcl-m|
|00005880| 6f 64 65 29 20 28 22 65 | 78 70 65 63 74 22 20 2e |ode) ("e|xpect" .|
|00005890| 20 74 63 6c 2d 6d 6f 64 | 65 29 20 28 22 72 65 78 | tcl-mod|e) ("rex|
|000058a0| 78 22 20 2e 20 72 65 78 | 78 2d 6d 6f 64 65 29 20 |x" . rex|x-mode) |
|000058b0| 28 22 61 77 6b 22 20 2e | 20 61 77 6b 2d 6d 6f 64 |("awk" .| awk-mod|
|000058c0| 65 29 20 28 22 67 61 77 | 6b 22 20 2e 20 61 77 6b |e) ("gaw|k" . awk|
|000058d0| 2d 6d 6f 64 65 29 20 28 | 22 6d 61 77 6b 22 20 2e |-mode) (|"mawk" .|
|000058e0| 20 61 77 6b 2d 6d 6f 64 | 65 29 20 28 22 73 63 6d | awk-mod|e) ("scm|
|000058f0| 22 20 2e 20 73 63 68 65 | 6d 65 2d 6d 6f 64 65 29 |" . sche|me-mode)|
|00005900| 29 29 20 22 5c 0a 41 6c | 69 73 74 20 6d 61 70 70 |)) "\.Al|ist mapp|
|00005910| 69 6e 67 20 69 6e 74 65 | 72 70 72 65 74 65 72 20 |ing inte|rpreter |
|00005920| 6e 61 6d 65 73 20 74 6f | 20 6d 61 6a 6f 72 20 6d |names to| major m|
|00005930| 6f 64 65 73 2e 0a 54 68 | 69 73 20 61 6c 69 73 74 |odes..Th|is alist|
|00005940| 20 61 70 70 6c 69 65 73 | 20 74 6f 20 66 69 6c 65 | applies| to file|
|00005950| 73 20 77 68 6f 73 65 20 | 66 69 72 73 74 20 6c 69 |s whose |first li|
|00005960| 6e 65 20 73 74 61 72 74 | 73 20 77 69 74 68 20 60 |ne start|s with `|
|00005970| 23 21 27 2e 0a 45 61 63 | 68 20 65 6c 65 6d 65 6e |#!'..Eac|h elemen|
|00005980| 74 20 6c 6f 6f 6b 73 20 | 6c 69 6b 65 20 28 49 4e |t looks |like (IN|
|00005990| 54 45 52 50 52 45 54 45 | 52 20 2e 20 4d 4f 44 45 |TERPRETE|R . MODE|
|000059a0| 29 2e 0a 54 68 65 20 63 | 61 72 20 6f 66 20 65 61 |)..The c|ar of ea|
|000059b0| 63 68 20 65 6c 65 6d 65 | 6e 74 20 69 73 20 63 6f |ch eleme|nt is co|
|000059c0| 6d 70 61 72 65 64 20 77 | 69 74 68 0a 74 68 65 20 |mpared w|ith.the |
|000059d0| 6e 61 6d 65 20 6f 66 20 | 74 68 65 20 69 6e 74 65 |name of |the inte|
|000059e0| 72 70 72 65 74 65 72 20 | 73 70 65 63 69 66 69 65 |rpreter |specifie|
|000059f0| 64 20 69 6e 20 74 68 65 | 20 66 69 72 73 74 20 6c |d in the| first l|
|00005a00| 69 6e 65 2e 0a 49 66 20 | 69 74 20 6d 61 74 63 68 |ine..If |it match|
|00005a10| 65 73 2c 20 6d 6f 64 65 | 20 4d 4f 44 45 20 69 73 |es, mode| MODE is|
|00005a20| 20 73 65 6c 65 63 74 65 | 64 2e 22 29 0a 28 64 65 | selecte|d.").(de|
|00005a30| 66 63 6f 6e 73 74 20 69 | 6e 68 69 62 69 74 2d 66 |fconst i|nhibit-f|
|00005a40| 69 72 73 74 2d 6c 69 6e | 65 2d 6d 6f 64 65 73 2d |irst-lin|e-modes-|
|00005a50| 72 65 67 65 78 70 73 20 | 28 70 75 72 65 63 6f 70 |regexps |(purecop|
|00005a60| 79 20 27 28 22 5c 5c 2e | 74 61 72 24 22 29 29 20 |y '("\\.|tar$")) |
|00005a70| 22 5c 0a 4c 69 73 74 20 | 6f 66 20 72 65 67 65 78 |"\.List |of regex|
|00005a80| 70 73 3b 20 69 66 20 6f | 6e 65 20 6d 61 74 63 68 |ps; if o|ne match|
|00005a90| 65 73 20 61 20 66 69 6c | 65 20 6e 61 6d 65 2c 20 |es a fil|e name, |
|00005aa0| 64 6f 6e 27 74 20 6c 6f | 6f 6b 20 66 6f 72 20 60 |don't lo|ok for `|
|00005ab0| 2d 2a 2d 27 2e 22 29 0a | 28 64 65 66 76 61 72 20 |-*-'.").|(defvar |
|00005ac0| 75 73 65 72 2d 69 6e 69 | 74 2d 66 69 6c 65 20 22 |user-ini|t-file "|
|00005ad0| 22 20 22 5c 0a 46 69 6c | 65 20 6e 61 6d 65 20 69 |" "\.Fil|e name i|
|00005ae0| 6e 63 6c 75 64 69 6e 67 | 20 64 69 72 65 63 74 6f |ncluding| directo|
|00005af0| 72 79 20 6f 66 20 75 73 | 65 72 27 73 20 69 6e 69 |ry of us|er's ini|
|00005b00| 74 69 61 6c 69 7a 61 74 | 69 6f 6e 20 66 69 6c 65 |tializat|ion file|
|00005b10| 2e 22 29 0a 28 66 73 65 | 74 20 27 73 65 74 2d 61 |.").(fse|t 'set-a|
|00005b20| 75 74 6f 2d 6d 6f 64 65 | 20 23 5b 6e 69 6c 20 22 |uto-mode| #[nil "|
|00005b30| 8a c0 19 c2 c0 21 29 86 | aa 00 0b 3f 86 aa 00 c4 |.....!).|...?....|
|00005b40| 0b 21 c5 1e 06 1e 07 0e | 06 85 a9 00 c0 16 06 0e |.!......|........|
|00005b50| 08 c0 1e 09 1e 5c 6e 0e | 0b cc 3d 1e 0d 0e 09 ac |.....\n.|..=.....|
|00005b60| c0 0e 5c 6e ab bc ce 0e | 5c 6e 40 40 0e 07 5c 22 |..\n....|\n@@..\"|
|00005b70| ab ab 0e 5c 6e 40 41 3a | ab 9b cf 0e 5c 6e 40 38 |...\n@A:|....\n@8|
|00005b80| ab 94 0e 5c 6e 40 41 40 | 16 09 0e 07 d0 89 94 4f |...\n@A@|.......O|
|00005b90| 16 07 c5 16 06 aa 89 0e | 5c 6e 40 41 16 09 c0 16 |........|\n@A....|
|00005ba0| 06 0e 5c 6e 41 16 5c 6e | aa 3c 29 0e 09 ab 86 0e |..\nA.\n|.<).....|
|00005bb0| 09 20 88 aa aa 8a 65 62 | 88 d1 d2 21 ab 87 d3 94 |. ....eb|...!....|
|00005bc0| d3 95 7b aa 81 d4 29 c0 | 1e 15 1e 16 d7 d8 0e 16 |..{...).|........|
|00005bd0| 21 0e 19 5c 22 89 16 15 | ab 85 0e 15 41 20 88 2a |!..\"...|....A .*|
|00005be0| 2a 82 17 00 2a 29 87 22 | 20 5b 6e 69 6c 20 65 6e |*...*)."| [nil en|
|00005bf0| 61 62 6c 65 2d 6c 6f 63 | 61 6c 2d 76 61 72 69 61 |able-loc|al-varia|
|00005c00| 62 6c 65 73 20 68 61 63 | 6b 2d 6c 6f 63 61 6c 2d |bles hac|k-local-|
|00005c10| 76 61 72 69 61 62 6c 65 | 73 2d 70 72 6f 70 2d 6c |variable|s-prop-l|
|00005c20| 69 6e 65 20 62 75 66 66 | 65 72 2d 66 69 6c 65 2d |ine buff|er-file-|
|00005c30| 6e 61 6d 65 20 66 69 6c | 65 2d 6e 61 6d 65 2d 73 |name fil|e-name-s|
|00005c40| 61 6e 73 2d 76 65 72 73 | 69 6f 6e 73 20 74 20 6b |ans-vers|ions t k|
|00005c50| 65 65 70 2d 67 6f 69 6e | 67 20 6e 61 6d 65 20 61 |eep-goin|g name a|
|00005c60| 75 74 6f 2d 6d 6f 64 65 | 2d 61 6c 69 73 74 20 6d |uto-mode|-alist m|
|00005c70| 6f 64 65 20 61 6c 69 73 | 74 20 73 79 73 74 65 6d |ode alis|t system|
|00005c80| 2d 74 79 70 65 20 76 61 | 78 2d 76 6d 73 20 63 61 |-type va|x-vms ca|
|00005c90| 73 65 2d 66 6f 6c 64 2d | 73 65 61 72 63 68 20 73 |se-fold-|search s|
|00005ca0| 74 72 69 6e 67 2d 6d 61 | 74 63 68 20 32 20 30 20 |tring-ma|tch 2 0 |
|00005cb0| 6c 6f 6f 6b 69 6e 67 2d | 61 74 20 22 23 21 20 2a |looking-|at "#! *|
|00005cc0| 5c 5c 28 5b 5e 20 09 5c | 6e 5d 2b 5c 5c 29 22 20 |\\([^ .\|n]+\\)" |
|00005cd0| 31 20 22 22 20 65 6c 74 | 20 69 6e 74 65 72 70 72 |1 "" elt| interpr|
|00005ce0| 65 74 65 72 20 61 73 73 | 6f 63 20 66 69 6c 65 2d |eter ass|oc file-|
|00005cf0| 6e 61 6d 65 2d 6e 6f 6e | 64 69 72 65 63 74 6f 72 |name-non|director|
|00005d00| 79 20 69 6e 74 65 72 70 | 72 65 74 65 72 2d 6d 6f |y interp|reter-mo|
|00005d10| 64 65 2d 61 6c 69 73 74 | 5d 20 34 20 22 5c 0a 53 |de-alist|] 4 "\.S|
|00005d20| 65 6c 65 63 74 20 6d 61 | 6a 6f 72 20 6d 6f 64 65 |elect ma|jor mode|
|00005d30| 20 61 70 70 72 6f 70 72 | 69 61 74 65 20 66 6f 72 | appropr|iate for|
|00005d40| 20 63 75 72 72 65 6e 74 | 20 62 75 66 66 65 72 2e | current| buffer.|
|00005d50| 0a 54 68 69 73 20 63 68 | 65 63 6b 73 20 66 6f 72 |.This ch|ecks for|
|00005d60| 20 61 20 2d 2a 2d 20 6d | 6f 64 65 20 74 61 67 20 | a -*- m|ode tag |
|00005d70| 69 6e 20 74 68 65 20 62 | 75 66 66 65 72 27 73 20 |in the b|uffer's |
|00005d80| 74 65 78 74 2c 0a 63 6f | 6d 70 61 72 65 73 20 74 |text,.co|mpares t|
|00005d90| 68 65 20 66 69 6c 65 6e | 61 6d 65 20 61 67 61 69 |he filen|ame agai|
|00005da0| 6e 73 74 20 74 68 65 20 | 65 6e 74 72 69 65 73 20 |nst the |entries |
|00005db0| 69 6e 20 60 61 75 74 6f | 2d 6d 6f 64 65 2d 61 6c |in `auto|-mode-al|
|00005dc0| 69 73 74 27 2c 0a 6f 72 | 20 63 68 65 63 6b 73 20 |ist',.or| checks |
|00005dd0| 74 68 65 20 69 6e 74 65 | 72 70 72 65 74 65 72 20 |the inte|rpreter |
|00005de0| 74 68 61 74 20 72 75 6e | 73 20 74 68 69 73 20 66 |that run|s this f|
|00005df0| 69 6c 65 20 61 67 61 69 | 6e 73 74 0a 60 69 6e 74 |ile agai|nst.`int|
|00005e00| 65 72 70 72 65 74 65 72 | 2d 6d 6f 64 65 2d 61 6c |erpreter|-mode-al|
|00005e10| 69 73 74 27 2e 0a 0a 49 | 74 20 64 6f 65 73 20 6e |ist'...I|t does n|
|00005e20| 6f 74 20 63 68 65 63 6b | 20 66 6f 72 20 74 68 65 |ot check| for the|
|00005e30| 20 60 6d 6f 64 65 3a 27 | 20 6c 6f 63 61 6c 20 76 | `mode:'| local v|
|00005e40| 61 72 69 61 62 6c 65 20 | 69 6e 20 74 68 65 0a 4c |ariable |in the.L|
|00005e50| 6f 63 61 6c 20 56 61 72 | 69 61 62 6c 65 73 20 73 |ocal Var|iables s|
|00005e60| 65 63 74 69 6f 6e 20 6f | 66 20 74 68 65 20 66 69 |ection o|f the fi|
|00005e70| 6c 65 3b 20 66 6f 72 20 | 74 68 61 74 2c 20 75 73 |le; for |that, us|
|00005e80| 65 20 60 68 61 63 6b 2d | 6c 6f 63 61 6c 2d 76 61 |e `hack-|local-va|
|00005e90| 72 69 61 62 6c 65 73 27 | 2e 0a 0a 49 66 20 60 65 |riables'|...If `e|
|00005ea0| 6e 61 62 6c 65 2d 6c 6f | 63 61 6c 2d 76 61 72 69 |nable-lo|cal-vari|
|00005eb0| 61 62 6c 65 73 27 20 69 | 73 20 6e 69 6c 2c 20 74 |ables' i|s nil, t|
|00005ec0| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 64 6f 65 |his func|tion doe|
|00005ed0| 73 20 6e 6f 74 20 63 68 | 65 63 6b 20 66 6f 72 20 |s not ch|eck for |
|00005ee0| 61 0a 2d 2a 2d 20 6d 6f | 64 65 20 74 61 67 2e 22 |a.-*- mo|de tag."|
|00005ef0| 5d 29 0a 28 66 73 65 74 | 20 27 68 61 63 6b 2d 6c |]).(fset| 'hack-l|
|00005f00| 6f 63 61 6c 2d 76 61 72 | 69 61 62 6c 65 73 20 23 |ocal-var|iables #|
|00005f10| 5b 28 26 6f 70 74 69 6f | 6e 61 6c 20 66 6f 72 63 |[(&optio|nal forc|
|00005f20| 65 29 20 22 08 ab 97 09 | 89 1a ad 8f c3 5c 6e 40 |e) "....|.....\n@|
|00005f30| 08 5c 22 3f ad 87 5c 6e | 41 89 12 ac 72 c4 29 ac |.\"?..\n|A...r.).|
|00005f40| 8a c5 0e 06 21 88 c7 0e | 06 21 88 c8 c9 21 87 22 |....!...|.!...!."|
|00005f50| 20 5b 62 75 66 66 65 72 | 2d 66 69 6c 65 2d 6e 61 | [buffer|-file-na|
|00005f60| 6d 65 20 69 6e 68 69 62 | 69 74 2d 66 69 72 73 74 |me inhib|it-first|
|00005f70| 2d 6c 69 6e 65 2d 6d 6f | 64 65 73 2d 72 65 67 65 |-line-mo|des-rege|
|00005f80| 78 70 73 20 74 65 6d 20 | 73 74 72 69 6e 67 2d 6d |xps tem |string-m|
|00005f90| 61 74 63 68 20 6e 69 6c | 20 68 61 63 6b 2d 6c 6f |atch nil| hack-lo|
|00005fa0| 63 61 6c 2d 76 61 72 69 | 61 62 6c 65 73 2d 70 72 |cal-vari|ables-pr|
|00005fb0| 6f 70 2d 6c 69 6e 65 20 | 66 6f 72 63 65 20 68 61 |op-line |force ha|
|00005fc0| 63 6b 2d 6c 6f 63 61 6c | 2d 76 61 72 69 61 62 6c |ck-local|-variabl|
|00005fd0| 65 73 2d 6c 61 73 74 2d | 70 61 67 65 20 72 75 6e |es-last-|page run|
|00005fe0| 2d 68 6f 6f 6b 73 20 68 | 61 63 6b 2d 6c 6f 63 61 |-hooks h|ack-loca|
|00005ff0| 6c 2d 76 61 72 69 61 62 | 6c 65 73 2d 68 6f 6f 6b |l-variab|les-hook|
|00006000| 5d 20 34 20 22 5c 0a 50 | 61 72 73 65 2c 20 61 6e |] 4 "\.P|arse, an|
|00006010| 64 20 62 69 6e 64 20 6f | 72 20 65 76 61 6c 75 61 |d bind o|r evalua|
|00006020| 74 65 20 61 73 20 61 70 | 70 72 6f 70 72 69 61 74 |te as ap|propriat|
|00006030| 65 2c 20 61 6e 79 20 6c | 6f 63 61 6c 20 76 61 72 |e, any l|ocal var|
|00006040| 69 61 62 6c 65 73 0a 66 | 6f 72 20 63 75 72 72 65 |iables.f|or curre|
|00006050| 6e 74 20 62 75 66 66 65 | 72 2e 22 5d 29 0a 28 62 |nt buffe|r."]).(b|
|00006060| 79 74 65 2d 63 6f 64 65 | 20 22 c0 c1 4d 88 c2 c3 |yte-code| "..M...|
|00006070| 4d 88 c4 c5 4d 87 22 20 | 5b 68 61 63 6b 2d 6c 6f |M...M." |[hack-lo|
|00006080| 63 61 6c 2d 76 61 72 69 | 61 62 6c 65 73 2d 70 20 |cal-vari|ables-p |
|00006090| 23 5b 28 6d 6f 64 65 6c | 69 6e 65 29 20 22 08 c1 |#[(model|ine) "..|
|000060a0| 3d ae 85 08 ad 82 c2 8b | 87 22 20 5b 65 6e 61 62 |=.......|." [enab|
|000060b0| 6c 65 2d 6c 6f 63 61 6c | 2d 76 61 72 69 61 62 6c |le-local|-variabl|
|000060c0| 65 73 20 74 20 28 28 62 | 79 74 65 2d 63 6f 64 65 |es t ((b|yte-code|
|000060d0| 20 22 c0 c1 c2 8f 88 0b | ac 8b 8a c4 79 88 c5 c6 | "......|....y...|
|000060e0| 20 60 5c 22 88 29 c7 c8 | c9 0b ab 83 ca aa 81 cb | `\".)..|........|
|000060f0| 0e 0c ab 86 cd 0e 0c 21 | aa 84 ce cf 20 50 23 21 |.......!|.... P#!|
|00006100| 87 22 20 5b 6e 69 6c 20 | 28 62 79 74 65 2d 63 6f |." [nil |(byte-co|
|00006110| 64 65 20 22 c0 70 21 87 | 22 20 5b 73 77 69 74 63 |de ".p!.|" [switc|
|00006120| 68 2d 74 6f 2d 62 75 66 | 66 65 72 5d 20 32 29 20 |h-to-buf|fer] 2) |
|00006130| 28 28 65 72 72 6f 72 20 | 28 62 79 74 65 2d 63 6f |((error |(byte-co|
|00006140| 64 65 20 22 c0 c1 c2 8f | 87 22 20 5b 6e 69 6c 20 |de "....|." [nil |
|00006150| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 70 21 87 |(byte-co|de ".p!.|
|00006160| 22 20 5b 73 77 69 74 63 | 68 2d 74 6f 2d 62 75 66 |" [switc|h-to-buf|
|00006170| 66 65 72 2d 6f 74 68 65 | 72 2d 77 69 6e 64 6f 77 |fer-othe|r-window|
|00006180| 5d 20 32 29 20 28 28 65 | 72 72 6f 72 20 28 62 79 |] 2) ((e|rror (by|
|00006190| 74 65 2d 63 6f 64 65 20 | 22 c0 70 21 87 22 20 5b |te-code |".p!." [|
|000061a0| 73 77 69 74 63 68 2d 74 | 6f 2d 62 75 66 66 65 72 |switch-t|o-buffer|
|000061b0| 2d 6f 74 68 65 72 2d 66 | 72 61 6d 65 5d 20 32 29 |-other-f|rame] 2)|
|000061c0| 29 29 5d 20 33 29 29 29 | 20 6d 6f 64 65 6c 69 6e |))] 3)))| modelin|
|000061d0| 65 20 30 20 73 65 74 2d | 77 69 6e 64 6f 77 2d 73 |e 0 set-|window-s|
|000061e0| 74 61 72 74 20 73 65 6c | 65 63 74 65 64 2d 77 69 |tart sel|ected-wi|
|000061f0| 6e 64 6f 77 20 79 2d 6f | 72 2d 6e 2d 70 20 66 6f |ndow y-o|r-n-p fo|
|00006200| 72 6d 61 74 20 22 53 65 | 74 20 6c 6f 63 61 6c 20 |rmat "Se|t local |
|00006210| 76 61 72 69 61 62 6c 65 | 73 20 61 73 20 73 70 65 |variable|s as spe|
|00006220| 63 69 66 69 65 64 20 25 | 73 20 6f 66 20 25 73 3f |cified %|s of %s?|
|00006230| 20 22 20 22 69 6e 20 2d | 2a 2d 20 6c 69 6e 65 22 | " "in -|*- line"|
|00006240| 20 22 61 74 20 65 6e 64 | 22 20 62 75 66 66 65 72 | "at end|" buffer|
|00006250| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 66 69 6c 65 2d |-file-na|me file-|
|00006260| 6e 61 6d 65 2d 6e 6f 6e | 64 69 72 65 63 74 6f 72 |name-non|director|
|00006270| 79 20 22 62 75 66 66 65 | 72 20 22 20 62 75 66 66 |y "buffe|r " buff|
|00006280| 65 72 2d 6e 61 6d 65 5d | 20 36 29 29 5d 20 32 5d |er-name]| 6))] 2]|
|00006290| 20 68 61 63 6b 2d 6c 6f | 63 61 6c 2d 76 61 72 69 | hack-lo|cal-vari|
|000062a0| 61 62 6c 65 73 2d 6c 61 | 73 74 2d 70 61 67 65 20 |ables-la|st-page |
|000062b0| 23 5b 28 26 6f 70 74 69 | 6f 6e 61 6c 20 66 6f 72 |#[(&opti|onal for|
|000062c0| 63 65 29 20 22 8a 64 62 | 88 c0 c1 64 c2 5a 65 5d |ce) ".db|...d.Ze]|
|000062d0| c3 23 88 c4 1d c6 c7 c8 | c4 23 ad 87 0e 09 ae 83 |.#......|.#......|
|000062e0| ca c8 21 29 85 f7 00 c4 | c8 89 89 89 0e 0b 1e 0b |..!)....|........|
|000062f0| 1e 0c 1e 0d 1e 0e 1e 0f | 1e 10 d1 c8 77 88 6c ac |........|....w.l.|
|00006300| 88 60 c8 7f 88 60 7b 16 | 0d d2 94 62 88 6e ac 88 |.`...`{.|...b.n..|
|00006310| 60 d2 79 88 60 7b 16 0f | 0e 0f ab 8b 0e 0f 47 16 |`.y.`{..|......G.|
|00006320| 0e d3 0e 0f 21 16 0f 0e | 0d ab 88 d3 0e 0d 21 d4 |....!...|......!.|
|00006330| 50 16 0d 0e 10 85 f5 00 | 0e 15 ab 86 d6 d7 21 88 |P.......|......!.|
|00006340| aa 83 d8 79 88 0e 0f ab | 90 d9 0e 0f 21 ab 86 0e |...y....|....!...|
|00006350| 0e 75 88 aa 84 da db 21 | 88 d1 c8 77 88 60 16 0c |.u.....!|...w.`..|
|00006360| dc c8 77 88 6c ab 84 da | dd 21 88 d1 c8 78 88 0e |..w.l...|.!...x..|
|00006370| 0c 60 7b 1e 1e df 0e 1e | 21 1e 20 c8 1e 21 0e 1e |.`{.....|!. ..!..|
|00006380| 97 e2 98 ab 85 c8 16 10 | aa ac e3 c8 77 88 d8 75 |........|....w..u|
|00006390| 88 df 70 21 16 21 e4 c8 | 78 88 d1 c8 77 88 0e 0d |..p!.!..|x...w...|
|000063a0| ab 86 d9 0e 0d 21 aa 81 | 6c ac 84 da e5 21 88 e6 |.....!..|l....!..|
|000063b0| 0e 20 0e 21 5c 22 88 2b | 82 6e 00 2e 06 29 87 22 |. .!\".+|.n...)."|
|000063c0| 20 5b 73 65 61 72 63 68 | 2d 62 61 63 6b 77 61 72 | [search|-backwar|
|000063d0| 64 20 22 5c 6e 0c 22 20 | 33 30 30 30 20 6d 6f 76 |d "\n." |3000 mov|
|000063e0| 65 20 74 20 63 61 73 65 | 2d 66 6f 6c 64 2d 73 65 |e t case|-fold-se|
|000063f0| 61 72 63 68 20 73 65 61 | 72 63 68 2d 66 6f 72 77 |arch sea|rch-forw|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.